cout is geen lid van std

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:

voer hier de afbeeldingsbeschrijving in

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 cmakemoest toevoegen om de bestanden op te nemen.

Omdat ik ook de zmq-bibliotheek gebruikte, moest ik deze ook toevoegen aan de meegeleverde bibliotheken.

Other episodes