Je m'exerce à utiliser des fichiers multiples et des fichiers d'en-tête, etc. J'ai donc ce projet qui prend deux nombres et les ajoute ensuite. 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 at-il une idée de la raison pour laquelle cela peut se produire? Merci.
EDIT: J'ai fait un petit projet hier avec le même nombre de fichiers (2 .cpp et 1.h) et je n'ai pas inclus l'en-tête iostream dans l'autre .cpp et il est toujours compilé et a bien fonctionné
ajoutez #include <iostream>
au début de io.cpp
aussi.
Rappelez-vous également que cela doit être:
#include "stdafx.h"
#include <iostream>
et non l'inverse
#include <iostream>
#include "stdafx.h"
J'ai eu un problème similaire et il s'est avéré que je devais ajouter une entrée supplémentaire dans cmake
pour inclure les fichiers.
Comme j'utilisais également la bibliothèque zmq, je devais également l'ajouter aux bibliothèques incluses.