1. ホーム
  2. c++

[解決済み】coutはstdのメンバではない

2022-01-17 09:22:08

質問

複数のファイルやヘッダーファイルなどを使って練習しています。そこで、2つの数値を受け取って足し算をするプロジェクトがあります。とても簡単です。

以下は私のファイルです。

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

エラーはio.cppに表示されています。正確なエラーは

なぜこのようなことが起こるのか、どなたかおわかりになる方はいらっしゃいますか?ありがとうございます。

EDIT: 昨日、同じ量のファイル(2つの.cppと1つの.h)で小さなプロジェクトを作りましたが、他の.cppにiostreamヘッダーを含めなかったところ、それでもうまくコンパイルして実行することができました。

解決方法は?

追加 #include <iostream> の先頭に io.cpp もあります。