Как сделать C ++ Пользовательский структурированный массив массив перегрузки?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как сделать C ++ Пользовательский структурированный массив массив перегрузки?

Сообщение Anonymous »

Я хочу предоставить структуру оператора индекса для структуры, которую я пишу. Я планирую сделать это с двумя struct s foo и bar . Код выглядит следующим образом: < /p>

#include
struct foo;

struct bar{
uint32_t *mem;
uint32_t *opcode;

bar():mem(nullptr),opcode(nullptr){}
bar( foo *f, int index ){
this->mem = f->memory + (index%16);
this->opcode = f->instructions +(index%16);
}
operator bool(){ return (this->mem != nullptr) & (this->opcode != nullptr); }
};
std::ostream& operatormemory[index%16];
}

< /code>


'f'-это неполная ошибка типа, с примечанием, что я использовал прямое объявление.bar( foo *f, int index ){
this->mem = f->memory[index%16];
this->opcode = f->memory[index%16];
}

< /code>


Две примечания к объявлениям прямого объявления и два недопустимого использования неполного типа struct foo < /code> on this-> mem = f-> память [Index%16] < /code> и this-> opcode = f-> memory [index%16]; />

Я попробовал кучу других вещей, но, похоже, у меня в основном проблема с неполным типом < /code>. Я искал так, чтобы получить ответы, и один объяснил, что такое неполный тип, другая проблема была о рекурсивном определении, и это не определяет, как сделать неполный тип завершенным. < /p>

Я повешен на это в течение последних нескольких дней, и итерации для простой перегрузки оператора. Может быть, я произношу это неправильно в вопросах или ищу неправильные ответы. < /p>

Но кто -то может указать на мои ошибки и /или написать, как перегружать оператор Script Suppcript с помощью кода, а не просто меньше функций корпуса?


Подробнее здесь: https://stackoverflow.com/questions/587 ... r-overload
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»