Ik ben aan het oefenen met het gebruik van meerdere bestanden en header-bestanden enz. Dus ik heb dit project dat twee getallen nodig heeft en ze vervolgens toevoegt. Vrij eenvoudig.
Hier zijn mijn bestanden:
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
De fout wordt weergegeven in io.cpp. De exacte fouten zijn:
Heeft iemand enig idee waarom dit kan gebeuren? Bedankt.
EDIT: ik heb gisteren een klein project gemaakt met hetzelfde aantal bestanden (2 .cpp en 1.h) en ik heb de iostream-header niet in de andere .cpp opgenomen en het compileerde nog steeds en liep prima .
Antwoord 1, autoriteit 100%
voeg #include <iostream>
ook toe aan het begin van io.cpp
.
Antwoord 2, autoriteit 5%
Onthoud ook dat het moet zijn:
#include "stdafx.h"
#include <iostream>
en niet andersom
#include <iostream>
#include "stdafx.h"
Antwoord 3
Ik had een soortgelijk probleem en het bleek dat ik een extra item in cmake
moest toevoegen om de bestanden op te nemen.
Omdat ik ook de zmq-bibliotheek gebruikte, moest ik deze ook toevoegen aan de meegeleverde bibliotheken.