我正在尝试编译一个不完整的程序,以尝试在事情变得太大之前捕获语法问题。话虽如此,我创建的类几乎都是完整的(一些成员函数被存根),并且包含在与主程序不同的文件中。Visual Studio 将它们识别为类(可以通过将鼠标悬停在它们上来查看)。
现在,问题是当我尝试编译它时,我收到以下错误:
1>d:\my programs\powerplay\powerplay\powerplay.hpp(99): error C2065: 'pp_player' : undeclared identifier
1>d:\my programs\powerplay\powerplay\powerplay.hpp(99): error C2146: syntax error : missing ')' before identifier 'player'
1>d:\my programs\powerplay\powerplay\powerplay.hpp(99): error C2182: 'resolve_current_space' : illegal use of type 'void'
该文件的第 99 行是一个函数声明(其中 pp_player 是我的类中较大的一个,如前所述,VS 将其识别为一个类,无论如何在编辑器中):
void resolve_current_space (pp_player& player);
一切都正确 #include 'd,并且其他类没有任何问题。我试过注释掉这个函数(声明和定义),但是编译器阻塞了下一个试图使用这个类的对象作为参数的函数。我尝试在文件的前面实例化这个类的一个对象,虽然我没有得到完全相同的错误,但它或多或少等同于同一件事。
任何人都知道这可能是什么?如果需要,如果以上内容还不够,我可以提供我的全部资源。