这可能很难解释。我已经在 MS VisC++ 2010 express 中开发了一个程序大约一个月了。我没有遇到任何奇怪的问题,并且准备第 100 次构建我的项目时,突然间,许多.cpp
文件似乎与.h
文件失去了联系。例如,在 main 函数中,我几周前创建和使用的对象突然出现在它们下面的红线和语法错误“ theClass is undefined
”。这适用于iostream
,所以突然cout
是未定义的。我不知道发生了什么。所有的外部头文件和库一秒一秒地突然消失在 IDE 眼中。在.cpp
文件中,当我声明class constructor
//initializes a poker game
aPokerGame::aPokerGame(void)
{
stopPlaying = 'n';
}
我得到类名下的行aPokerGame
,这个错误是“ must be a class or a namespace name
”。.h
如果文件消失,这不是会发生什么吗?事实上,并不是所有.cpp
的文件都有这个问题,只有一些。其他人在其中有非常奇怪的错误,例如“类不存在默认构造函数std::basic_ostream<wchar...
”。所有这些错误同时出现。
头文件看起来不错。虽然其中一个在私人成员Error: expected a declaration
的“”标题下有“ ”。Private:
请帮忙!
以下是编译错误的示例:
1>----- 构建开始:项目:firstProj,配置:Debug Win32 ------ 1> userPlayer.cpp 1>c:\users\bn\dropbox\myprojects\mysoftware\c++\firstproj\firstproj \userplayer.h(9): error C2504: 'Player': base class undefined 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\iostream(10): error C2059: 语法错误: '命名空间'1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\iostream(10): error C2334: unexpected token(s) before '{'; 跳过明显的函数体 1>c:\users\bn\dropbox\myprojects\mysoftware\c++\firstproj\firstproj\userplayer.cpp(8): error C3254: 'Player' : class contains explicit override '{ctor}' 但确实不是从包含函数声明 1>c 的接口派生的:
c:\users\bn\dropbox\myprojects\mysoftware\c++\firstproj\firstproj\player.h(18) : 参见 'Player::Player' 1>c:\users\bn\dropbox\myprojects\mysoftware\ 的声明c++\firstproj\firstproj\userplayer.cpp(13): 错误 C3254: 'Player' : 类包含显式覆盖 '{dtor}' 但不是从包含函数声明 1>c:\users\bn\ 的接口派生dropbox\myprojects\mysoftware\c++\firstproj\firstproj\userplayer.cpp(13): 错误 C2838: '{dtor}' : 成员声明中的非法限定名 1>c:\users\bn\dropbox\myprojects\mysoftware\c++ \firstproj\firstproj\userplayer.cpp(13): 错误 C2535: 'Player::~Player(void)' : 成员函数已定义或声明 1>
cpp 1>c:\users\bn\dropbox\myprojects\mysoftware\c++\firstproj\firstproj\npcplayer.h(9): error C2504: 'Player' : base class undefined 1>c:\users\bn\dropbox\ myprojects\mysoftware\c++\firstproj\firstproj\userplayer.h(9): error C2504: 'Player': base class undefined 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\iostream(10 ): 错误 C2059: 语法错误: 'namespace' 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\iostream(10): error C2334: '{'前面的意外令牌;跳过明显的函数体 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\time.h(35): error C2059: syntax error: 'string' 1>c:\program files (x86) \microsoft visual studio 10.0\vc\include\time.h(35):错误 C2334:'{' 之前的意外标记;跳过明显的函数体 1>c:\users\bn\dropbox\myprojects\mysoftware\c++\firstproj\firstproj\pokerround.cpp(16): error C2059: syntax error: 'namespace'