undeclared identifier С++

295
05 января 2017, 06:35

packet.h

class OutcomingEnterMap : public PacketFactory
{
public:
    int process(Player&);
private:
    MapCharacterBase    _MapCharacterBase;
};

packet_pre_world.cpp

#include "packet.h"
struct MapCharacterBase  {
    /* ... */
};
int OutcomingEnterMap::proces(connection* d)
{
    _MapCharacterBase = MapCharacterBase{/* ... */}; 
}

Ошибка

Error   C2065   '_MapCharacterBase': undeclared identifier  EmulatorTop c:\users\ilya\documents\visual studio 2015\projects\emulatortop\threadevents\packet_pre_world.cpp   142 
Answer 1
#include "packet.h"
struct MapCharacterBase  {
    /* ... */
};

Превращается в

class OutcomingEnterMap : public PacketFactory
{
public:
    int process(Player&);
private:
    MapCharacterBase    _MapCharacterBase;   // 1
};
struct MapCharacterBase  {                   // 2
    /* ... */
};

Т.е. вы используете MapCharacterBase до его объявления. Компилятор не понимает в точке 1, что такое MapCharacterBase, так как это ему становится понятно только в точке 2.

READ ALSO
Установление опций QSerialPort аналогичный boost::asio::serial_port::set_option();

Установление опций QSerialPort аналогичный boost::asio::serial_port::set_option();

Хочу портировать некий проект, работающий с ком-портом, написанный в boost'e на Qt

340
Как подключить OpenGL в Qt Creator?

Как подключить OpenGL в Qt Creator?

Создал приложение Qt Widgets, создал класс для рисования, который называется MainScene, в этом классе переопределил три метода базового класса QGLWidget:...

410
Нетривиальная сортировка

Нетривиальная сортировка

Есть таблица, пусть для "синтетического" примера - просто таблица целых чиселЧисла могут повторяться и не могут принимать значение NULL

381
Выбор чисел Фибоначчи

Выбор чисел Фибоначчи

Задача не практическаяХочется оценить, какими подходами ее можно решить на SQL'ях разных диалектов (PostgreSQL, SQLite3, MySQL)

330