web-dev-qa-db-ja.com

coutはstdのメンバーではありません

私は複数のファイルとヘッダーファイルなどを使って練習しています。だから私は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に表示されています。正確なエラーは次のとおりです。

enter image description here

なぜこれが起こっているのか、誰かに何か考えがありますか?ありがとう。

編集:昨日同じ量のファイル(2 .cppと1.h)で小さなプロジェクトを作成しましたが、他の.cppにiostreamヘッダーを含めずにコンパイルしましたそしてうまくいった

162
Paul Hannon

#include <iostream>の先頭にもio.cppを追加してください。

259
unkulunkulu

それがなければならないことも覚えておいてください:

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

そしてその逆ではない

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

私は同様の問題を抱えていた、それは私がファイルを含めるためにcmakeに追加のエントリを追加しなければならなかったことが判明した。

私はzmqライブラリも使っていたので、これも含まれているライブラリに追加しなければなりませんでした。

1
Marco Rubio