构建时如何在Visual Studio C ++中加载文件

时间:2014-07-18 16:51:18

标签: c++ visual-studio-2012

我有三个文件。

Wood.cpp
Brick.cpp
Wall.cpp

我的main()函数在Brick.cpp中:

现在,当我运行项目时,它会抛出className(在Wall.cpp中)未定义的错误。我该怎么办?

我认为main()函数在Wall.cpp文件的delaration之前运行。

2 个答案:

答案 0 :(得分:1)

你需要一种方法来告诉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)

答案 1 :(得分:0)

I think the main() function is run before the delaration of Wall.cpp file.编译时没有之前运行。此外,编译顺序由编译器定义。

你需要包含标题(ussualy * .h,* .hpp,* .hh)文件(如果你有一个,否则你必须创建一个),其中className被定义到源文件中你使用这门课。

对于编译器来说,知道编译源的类的声明(在头部中)就足够了。然后,链接器需要声明。