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


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

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

главная.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.СРР. Точные ошибки:

кто-нибудь знает, почему это может произойти? Спасибо.

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

3 141

3 ответа:

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

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

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

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

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

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

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