【发布时间】:2011-01-13 23:08:05
【问题描述】:
我正在从事一个包含多个课程的项目。所有头文件都在“include”文件夹中,所有 src 文件在另一个文件夹中。但是在这一点上,缺少一个一直没有问题的类。
产生错误的代码是:
namespace render{
class CSprite2D
{
CTexture * m_texture;
错误是语法错误:缺少';'在'*'之前 所以我不知道为什么 VC++ 找不到我的课程。 VC++ 编译类的顺序非常奇怪:在尝试编译 Texture.cpp 之前检测到 sprite2D 中的错误。另外,CTexture 类已经进入项目,并且在创建 sprite2D 之前完美运行。
你能帮我找出一些错误吗?
*编辑:*它有效,解决方案是简单地转发声明纹理类(感谢 James 和 peenut)。但现在我的疑问是:如果我已经包含了纹理,为什么我需要转发声明纹理类?包含头文件还不够?
提前致谢。
【问题讨论】:
-
顺序无关紧要,您是否在该代码之前包含了头文件?
-
你有没有
#include-ed 在你需要的地方找到正确的标题?标题相互递归包含有问题吗?
标签: c++ visual-studio visual-studio-2008