//Double.h file
#ifndef Double_h
#define Double_h
int add(int x,int y);
#endif
//Double.cpp file
int add(int x,int y)
{
return x + y;
}
//main.cpp file
#include <iostream>
#include "Double.h"
using namespace std;
int main()
{
cout << add(7,8)<<endl;
return 0;
}
它应该是一个简单的7 + 8程序,我正在使用Codeblocks for C ++。它一直说add wasn't declared in this scope
。当我在int add (int x,int y)
之后在main.cpp文件中声明using namespace std;
时,它说"undefined reference for add(int,int)
。我不明白这一点,我真的认为它会起作用。有人可以指出错误吗?
答案 0 :(得分:0)
在编译Double.h
时,请确保您的头文件main.cpp
位于正确的文件夹中(它们是否偶然重复且您的main.cpp看到错误的文件?)。
您的Double.cpp
也应包含Double.h
。另外,请确保同时编译main.cpp
和double.cpp
以生成最终的可执行输出文件。
这个程序应该可行。
答案 1 :(得分:0)
你不应该在main.cpp中包含“Double.cpp”吗?
答案 2 :(得分:-1)
移动声明
int add(int x, int y);
超出#ifndef
块