Estoy practicando el uso de múltiples archivos y archivos de encabezado, etc. Así que tengo este proyecto que toma dos números y luego los agrega. Bastante simple.
Aquí están mis archivos:
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
El error se muestra en io.cpp. Los errores exactos son:
¿Alguien tiene alguna idea de por qué esto puede estar sucediendo? Gracias.
EDITAR: Ayer hice un pequeño proyecto con la misma cantidad de archivos (2 .cpp y 1.h) y no incluí el encabezado iostream en el otro .cpp y todavía se compiló y funcionó bien.
.h
archivo la última vez.Respuestas:
añadir
#include <iostream>
al inicio deio.cpp
también.fuente
stdafx.h
, no antesTambién recuerde que debe ser:
y no al revés
fuente
"stdafx.h"
viene OP no utiliza tales encabezadosTuve un problema similar y resultó que tenía que agregar una entrada adicional en
cmake
para incluir los archivos.Como también estaba usando la biblioteca zmq, también tuve que agregar esto a las bibliotecas incluidas.
fuente