Ich übe die Verwendung mehrerer Dateien und Header-Dateien usw. Ich habe also dieses Projekt, das zwei Zahlen verwendet und diese dann hinzufügt. Ziemlich einfach.
Hier sind meine Dateien:
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
Der Fehler wird in io.cpp angezeigt. Die genauen Fehler sind:
Hat jemand eine Idee, warum dies passieren kann? Vielen Dank.
BEARBEITEN: Ich habe gestern ein kleines Projekt mit der gleichen Anzahl von Dateien (2 .cpp und 1.h) erstellt und den iostream-Header nicht in die andere .cpp aufgenommen, und es wurde immer noch kompiliert und lief einwandfrei.
.h
letzte Mal in der Datei.Antworten:
#include <iostream>
zum Anfang von hinzufügenio.cpp
.quelle
stdafx.h
, nicht vorDenken Sie auch daran, dass es sein muss:
und nicht umgekehrt
quelle
"stdafx.h"
das? OP verwendet keine solchen HeaderIch hatte ein ähnliches Problem und es stellte sich heraus, dass ich einen zusätzlichen Eintrag hinzufügen musste, um
cmake
die Dateien einzuschließen.Da ich auch die zmq-Bibliothek verwendete, musste ich diese auch zu den enthaltenen Bibliotheken hinzufügen.
quelle