C++ 使用多个源文件时对类成员函数的未定义引用

C++ 使用多个源文件时对类成员函数的未定义引用,c++,dev-c++,C++,Dev C++,我正在尝试学习如何分离头文件和实现文件,但它不起作用,即使我试图使它尽可能简单 头文件 实现文件 //foo.cpp #包括“foo.h” #包括 void Foo::bar(){ std::cout您没有告诉我们您是如何编译代码的,但是除了test.cpp之外,您还需要编译foo.cpp。如果您使用的是GCC,则命令是: g++ test.cpp foo.cpp -o test 您忘记在条的定义中添加void(在实现文件中)。 应该是无效Fo::……{/COD> .< /P> > P>为了编

我正在尝试学习如何分离头文件和实现文件,但它不起作用,即使我试图使它尽可能简单

头文件 实现文件
//foo.cpp
#包括“foo.h”
#包括
void Foo::bar(){

std::cout您没有告诉我们您是如何编译代码的,但是除了
test.cpp
之外,您还需要编译
foo.cpp
。如果您使用的是GCC,则命令是:

g++ test.cpp foo.cpp -o test

您忘记在
条的定义中添加
void
(在实现文件中)。
应该是<代码>无效Fo::……{/COD> .< /P> > P>为了编译多个文件,您将两个.CPP文件添加到同一个目标下的项目中。然后,DEV C++ IDE会自动将两个文件添加到构建并将它们链接在一起。

在完全不同的注释中,请避免使用DEV C++,它非常老,而且多年来没有看到更新。我会推荐代码块。

你是如何编译的?你可能不链接(或以其他方式构建)两个对象(源)。文件。我如何链接两者?不要在
#include
语句中包含cpp文件。顺便说一句,我从问题中删除了答案部分。StackOverflow的问答格式不应该在问题部分包含答案。是的,看起来我忘记了。谢谢。
 // foo.cpp
 #include "foo.h"
 #include <iostream>

 void Foo::bar(){
     std::cout << "test";
 }
// test.cpp
#include <iostream>
#include "foo.h"

int main(){
    Foo foo;
    foo.bar();
}
g++ test.cpp foo.cpp -o test