Estou praticando usando vários arquivos e arquivos de cabeçalho, etc. Então, eu tenho esse projeto que pega dois números e os adiciona. Bem simples.
Aqui estão meus arquivos:
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
O erro está aparecendo no io.cpp. Os erros exatos são:
Alguém tem alguma idéia de por que isso pode estar acontecendo? Obrigado.
EDIT: ontem, fiz um pequeno projeto com a mesma quantidade de arquivos (2 .cpp e 1.h) e não incluí o cabeçalho iostream no outro .cpp e ele ainda compilou e funcionou bem.
.h
arquivo da última vez.Respostas:
adicionar
#include <iostream>
ao início deio.cpp
também.fonte
stdafx.h
, e não antesLembre-se também de que deve ser:
e não o contrário
fonte
"stdafx.h"
vem? OP não utiliza tais cabeçalhosEu tive um problema semelhante e, por acaso, tive que adicionar uma entrada extra
cmake
para incluir os arquivos.Como eu também estava usando a biblioteca zmq, tive que adicioná-lo também às bibliotecas incluídas.
fonte