237

我正在练习使用多个文件和头文件等。所以我有这个项目,它需要两个数字,然后将它们相加。很简单。

这是我的文件:

主文件

#include <iostream>
#include "add.h"

int main()
{
    int x = readNumber();
    int y = readNumber();

    writeAnswer(x + y);

    return(0);
}

io.cpp

int readNumber()
{
    int x;

    std::cout << "Number: ";
    std::cin >> x;

    return x;
}

void writeAnswer(int x)
{
    std::cout << "Answer: ";
    std::cout << x;
}

添加.h

#ifndef ADD_H_INCLUDED
#define ADD_H_INCLUDED

int readNumber();
void writeAnswer(int x);

#endif // #ifndef ADD_H_INCLUDED

该错误出现在 io.cpp 中。确切的错误是:

在此处输入图像描述

有谁知道为什么会发生这种情况?谢谢。

编辑:我昨天用相同数量的文件(2 .cpp 和 1.h)做了一个小项目,我没有在另一个 .cpp 中包含 iostream 标头,它仍然编译并运行良好。

4

3 回答 3

388

添加#include <iostream>到开头io.cpp也。

于 2012-07-07T14:45:29.487 回答
20

另请记住,它必须是:

#include "stdafx.h"
#include <iostream>

而不是相反

#include <iostream>
#include "stdafx.h"
于 2018-09-20T19:41:51.070 回答
1

我有一个类似的问题,结果我必须添加一个额外的条目cmake来包含文件。

由于我也在使用 zmq 库,因此我也必须将其添加到包含的库中。

于 2018-05-22T17:26:16.087 回答