我正在练习使用多个文件和头文件等。所以我有这个项目需要两个数字,然后添加它们。很简单。
以下是我的文件:
的main.cpp
#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;
}
add.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标题,它仍然编译并运行良好
答案 0 :(得分:257)
将#include <iostream>
添加到io.cpp
的开头。
答案 1 :(得分:9)
还要记住,它必须是:
#include "stdafx.h"
#include <iostream>
而不是相反
#include <iostream>
#include "stdafx.h"
答案 2 :(得分:1)
我遇到了类似的问题,事实证明我必须在cmake
中添加一个额外的条目才能包含这些文件。
由于我也在使用zmq库,我还必须将它添加到包含的库中。