C++ 如何在Visual Studio C+中加载文件+;建成时
我有三份档案C++ 如何在Visual Studio C+中加载文件+;建成时,c++,visual-studio-2012,C++,Visual Studio 2012,我有三份档案 Wood.cpp Brick.cpp Wall.cpp 我的main()函数位于Brick.cpp中: 现在,当我运行这个项目时,它抛出了一个错误,即类名(位于Wall.cpp中)未定义。我该怎么办 我认为main()函数是在删除Wall.cpp文件之前运行的 我认为main()函数是在对Wall.cpp文件进行delaration之前运行的。编译时没有在之前运行。此外,编译顺序由编译器定义 您需要将定义了className的头文件(ussualy*.h、*.hpp、*.hh)包
Wood.cpp
Brick.cpp
Wall.cpp
我的main()
函数位于Brick.cpp中:
现在,当我运行这个项目时,它抛出了一个错误,即类名
(位于Wall.cpp中)未定义。我该怎么办
我认为main()
函数是在删除Wall.cpp文件之前运行的 我认为main()函数是在对Wall.cpp文件进行delaration之前运行的。
编译时没有在之前运行。此外,编译顺序由编译器定义
您需要将定义了className
的头文件(ussualy*.h、*.hpp、*.hh)包含到使用该类的源文件中(如果您有头文件,则必须创建头文件)
对于编译器来说,知道类的声明(在标题中)就足够编译源代码了。声明是链接器所必需的。< p>您需要一种方式来告诉C++编译器什么样的函数将可用和实现,在C++中,使用标题文件的方式是: 例如: 文件a.hpp
class A {
// variable members
// function signatures or inline functions
};
文件a.cpp
// Implementation of functions in class A and initialization of static variables in A
文件b.hpp
#include "a.hpp"
// Could use class A
class B {
A m_a_member_variable;
}
文件b.cpp
// Implementation of functions in class B and initialization of static variables in B that could use classes and declarations in a.hpp (ex: class A)
您的项目中有.hpp吗?请张贴至少与问题的代码和确切的错误消息否,我没有任何头文件。我的类在.cpp文件中声明。然后您必须创建一个。谷歌第一个链接上,或更好。