Я тренируюсь с использованием нескольких файлов, заголовочных файлов и т. Д. Итак, у меня есть этот проект, который берет два числа и затем добавляет их. Довольно просто
Вот мои файлы:
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), и я не включил заголовок iostream в другой .cpp, и он все еще скомпилирован и работает нормально.
.h
файл в прошлый раз.Ответы:
добавить
#include <iostream>
в началоio.cpp
тоже.источник
stdafx.h
, не раньшеТакже помните, что это должно быть:
а не наоборот
источник
"stdafx.h"
берутся? ОП не использует таких заголовковУ меня была похожая проблема, и оказалось, что мне нужно было добавить дополнительную запись,
cmake
чтобы включить файлы.Так как я также использовал библиотеку zmq, мне пришлось добавить это и во включенные библиотеки.
источник