Je m'entraîne à utiliser plusieurs fichiers et des fichiers d'en-tête, etc. J'ai donc ce projet qui prend deux nombres, puis les ajoute. Assez simple.
Voici mes fichiers:
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
L'erreur apparaît dans io.cpp. Les erreurs exactes sont:
Quelqu'un a-t-il une idée de pourquoi cela peut se produire? Merci.
EDIT: J'ai fait un petit projet hier avec la même quantité de fichiers (2 .cpp et 1.h) et je n'ai pas inclus l'en-tête iostream dans l'autre .cpp et il a toujours compilé et s'est bien déroulé.
.h
fichier la dernière fois.Réponses:
ajouter
#include <iostream>
au début deio.cpp
trop.la source
stdafx.h
, pas avantN'oubliez pas non plus que ce doit être:
et non l'inverse
la source
"stdafx.h"
vient-il? OP n'utilise pas de tels enJ'ai eu un problème similaire et il s'est avéré que je devais ajouter une entrée supplémentaire
cmake
pour inclure les fichiers.Comme j'utilisais également la bibliothèque zmq, j'ai dû également l'ajouter aux bibliothèques incluses.
la source