头文件可以与main中的代码配合吗?

时间:2016-03-28 10:22:19

标签: c++ c-preprocessor

我已经读过#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;
    }

2 个答案:

答案 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)

你会得到输出:很棒。