“ cout”不是“ std”(Progect File c ++)的成员

时间:2019-03-13 21:07:39

标签: c++

我用c ++创建了一个新项目,但是我仍然遇到相同的错误

Main.cpp

#include <iostream>
#include <string.h>


#include "Computer.cpp"
#include "Computer.h"

using namespace std;

int main() 
{

cout << "Hello World!" << endl;
return 0;
}

Computer.h

#ifndef COMPUTER_H_INCLUDED
#define COMPUTER_H_INCLUDED
#include <string>
class Computer
{
public:
    std::string marca;
    float prezzo;
    bool acceso;

    Computer();

    void Accenditi();
    void Spegniti();
    void ImpostaMarca(std::string m);
    void ImpostaPrezzo(float p);

};

#endif

Computer.cpp

#include "Computer.h"

Computer::Computer()
{

}
void Computer::Accenditi()
{
if(!acceso)
{
    acceso = true;
}
else
{
    std::cout << "Sono già acceso";
}
}
void Computer::Spegniti()
{
if(acceso)
{
    acceso = false;
}
else
{
    std::cout << "Sono già spento";
}
}
void Computer::ImpostaMarca(std::string m)
{
marca = m;
}
void Computer::ImpostaPrezzo(float p)
{
prezzo = p;
}

问题

我不明白Computer.cpp有什么问题,我不断收到“提示不是std的成员”。我尝试添加“使用命名空间标准”,并且还尝试添加库#include,但是我得到了一个名为“ makefile.win”的新文件。我该如何解决该错误?

1 个答案:

答案 0 :(得分:0)

您需要这样在Computer.cpp文件中包括iostream标头:

include <iostream>

为使您的生活更轻松,您还可以添加:

using std::cout;
using std::endl;

在包含内容的底部,这样就不必每次都添加“ std :: cout”,只需使用“ cout”

也要添加:

您可以从main.cpp中删除include computer.cpp,只保留标题即可。 C ++链接器会自动将您的computer.h和computer.cpp链接在一起,因为.cpp包含标题,而您的主文件也包含computer.h