cout не является членом std

Я практикую использование файлов mulitple и заголовочных файлов и т. д. Поэтому у меня есть этот проект, который берет два числа, а затем добавляет их. Довольно просто.

вот мои файлы:

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;
}

добавить.h

#ifndef ADD_H_INCLUDED
#define ADD_H_INCLUDED

int readNumber();
void writeAnswer(int x);

#endif // #ifndef ADD_H_INCLUDED

ошибка появляется в io.СРР. Точные ошибки:

enter image description here

есть ли у кого-нибудь идея, почему это может происходить? Спасибо.

EDIT: вчера я сделал небольшой проект с таким же количеством файлов (2 .cpp и 1.h) И я не включил заголовок iostream в другой .cpp и он все еще компилируется и работает нормально.

3 ответов


добавить #include <iostream> в начало io.cpp тоже.


У меня была похожая проблема и оказалось, что мне пришлось добавить дополнительную запись в cmake включить файлы.

поскольку я также использовал библиотеку zmq, мне пришлось добавить это в включенные библиотеки.


также помните, что это должно быть:

#include "stdafx.h"
#include <iostream>

, а не наоборот

#include <iostream>
#include "stdafx.h"