`string'未声明

时间:2013-04-30 01:07:39

标签: c++

编写我的第一个程序,我的using namespace std;语句不起作用。当我构建程序时,我会抛出这个错误:

C:\\Users\\p6735a\\Desktop\\Project\\game.cpp: In function `int main(int, char *)':
C:\\Users\\p6735a\\Desktop\\Project\\game.cpp:6: `string' undeclared (first use this         function)
C:\\Users\\p6735a\\Desktop\\Project\\game.cpp:6: (Each undeclared identifier is reported only once
C:\\Users\\p6735a\\Desktop\\Project\\game.cpp:6: for each function it appears in.)
C:\\Users\\p6735a\\Desktop\\Project\\game.cpp:6: parse error before `;'
[Finished in 0.1s with exit code 1]

以下是代码:

#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    string input;
    int hp;

    cout << "You see a man. Would you like to kill him?\n1. Yes\n2. No" << endl;
    //cin >> input;
}

3 个答案:

答案 0 :(得分:8)

您需要包含字符串标题:

#include <string>

但为什么要发表using namespace std声明呢?只需单独使用这些对象:

using std::cout;
using std::string;

答案 1 :(得分:6)

添加

#include <string>

到您的包含,因为string来自<string>标题。

同时,使用using namespace std(参见Why using namespace std is considered a bad practice)是不好的做法,你最好使用:

std::string input
std::cout, std::endl

代替。

答案 2 :(得分:-1)

在Visual Studio中,您需要拥有新的#include "pch.h"