Ćwiczę wiele plików i plików nagłówkowych itp. Mam więc ten projekt, który bierze dwie liczby, a następnie dodaje je. Dość proste.
Oto moje pliki:
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
Błąd pojawia się w pliku io.cpp. Dokładne błędy to:
Czy ktoś ma pojęcie, dlaczego tak się dzieje? Dzięki.
EDYCJA: Wczoraj stworzyłem mały projekt z taką samą ilością plików (2 .cpp i 1.h) i nie włączyłem nagłówka iostream w innym .cpp i nadal kompiluje się i działa dobrze.
.h
pliku ostatnio.Odpowiedzi:
dodaj
#include <iostream>
też na początekio.cpp
.źródło
stdafx.h
, a nie wcześniejPamiętaj również, że musi to być:
i nie na odwrót
źródło
"stdafx.h"
pochodzi? OP nie używa takich nagłówkówMiałem podobny problem i okazało się, że musiałem dodać dodatkowy wpis,
cmake
aby dołączyć pliki.Ponieważ korzystałem również z biblioteki zmq, musiałem to również dodać do dołączonych bibliotek.
źródło