Я работаю над проектом с несколькими классами. Все файлы заголовков находятся в папке «include» и всех файлах src в другой папке. Но на данный момент отсутствует класс, работающий без проблем.ошибка C2143. Почему VC++ не находит мой класс?
Код, который производит ошибку является:
namespace render{
class CSprite2D
{
CTexture * m_texture;
И ошибка синтаксическая ошибка: отсутствует ';' до '*' Итак, я не имею ни малейшего представления о том, почему VC++ не находит мой класс. Порядок в том, что классы компиляции VC++ очень estrange: обнаруживает ошибку в sprite2D, прежде чем пытаться скомпилировать Texture.cpp. Кроме того, класс CTexture был в проекте и отлично работает до создания sprite2D.
Не могли бы вы помочь мне с некоторой уловкой, чтобы найти ошибку?
* Редактировать: * Он работает, и решение состоит в том, чтобы просто переслать декларацию класса текстуры (спасибо Джеймсу и поджелудочной железе). Но теперь я сомневаюсь: если бы я включил текстуру, зачем мне пересылать объявлять класс текстуры? Недостаточно включить заголовочный файл?
Заранее спасибо.
Заказ не должен иметь значения, вы включаете файл заголовка до этого кода? – GManNickG
У вас '# include'-ed правильные заголовки везде, где они вам нужны? У вас есть проблема с рекурсивными заголовками, включая друг друга? –