我已经读过#include header.h
是预处理器(因为#
),这意味着它在编译之前得到处理。
这就是我的代码无法运行的原因吗?因为我试图在我的标题中使用我的函数在main中创建一个if语句(这需要一个参数)并且它不会起作用。
Source.cpp
#include <iostream>
#include "Header.h"
using namespace std;
int main(){
test(46);
if (test() > 30){
cout << "great";
}
else{
cout << "It needs to be higher";
}
system("PAUSE");
return 0;
}
Header.h
using namespace std;
int test(int x){
return x;
}
答案 0 :(得分:3)
这不是问题。我怀疑您可能会收到编译器错误消息(或链接器错误),因为您已使用整数参数声明test(int x)
,然后使用无参数调用它,例如:test()
。
我已修改您的代码以包含整数result
:
int main(){
int result = test(46); // Save the result of calling the function
if (result > 30){ // Test the value of the result
cout << "great";
}
else{
cout << "It needs to be higher";
}
system("PAUSE");
return 0;
}
答案 1 :(得分:0)
Header.h文件中的测试函数将int作为参数。但是在你的代码中你会丢失它。通过int来测试这样的函数。
if (test(42) > 30)
你会得到输出:很棒。