我对头文件的结构感到困惑。在我的程序中,头文件只有int add(int x, int y);
的前向声明,并且在main方法中,它调用头文件,但不使用任何return语句初始化前向声明,它只是分配x和y特定值。换句话说,当头文件中的代码没有任何返回类型时,main方法如何知道如何处理头文件中的代码。任何帮助将不胜感激。如果有帮助,下面是两个文件的代码:
add.h:
int add(int x, int y); // function prototype for add.h
main.cpp中:
#include <iostream>
#include "add.h" // this brings in the declaration for add()
int main()
{
using namespace std;
cout << "The sum of 3 and 4 is " << add(3, 4) << endl;
return 0;
}
我使用g++ add.h main.cpp execution1; ./execution1
从终端编译它,我收到此错误:
clang: warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated
clang: error: cannot specify -o when generating multiple output files
-bash: ./execution1: No such file or directory
答案 0 :(得分:-1)
这是重复的,请看这里:How to compile C++ program by command line on Mac
但你回答......
您可以使用c++ -c main.cpp
,然后使用c++ main.o
,它会生成.exe
。
再见!