无法识别 C++ 中的字符串数据类型

Not recognising string data type in c++

我正在使用 Visual C++ 2008 速成版学习 C++ 编程。我的程序没有识别 std::string 数据类型。我包含了 <string> 库。

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

using namespace std;

class Rectangle {
private:
    int width;
    int height;
    double area;
    string name;

public:
    Rectangle()
    {
        width = 0;
        height = 0;
    }

    int getWidth()
    {
        return width;
    }

    int getHeight()
    {
        return height;
    }

    void setWidth(int width)
    {
        this->width = width;
    }

    void setHeight(int height)
    {
        this->height= height;
    }

    void setArea( )
    {
        area = width * height;
    }

    double getArea( )
    {
        return area;
    }

    Rectangle (const Rectangle & x)
    {
        this->area = x.area;
    }

    void friendtestfunction(Rectangle2 s)
    {
        cout << "" << s.name;
    }
};

int Rectangle2::stat_var = 5;

int _tmain(int argc, _TCHAR* argv[])
{
    Rectangle rect;
    rect.setWidth(10);
    rect.setHeight(20);
    rect.setArea( );

    cout<< "height is equal to :" << rect.getHeight() << endl;
    cout<< "width is equal to :" << rect.getWidth() << endl;
    cout << "area is equal to :" << rect.getArea() << endl;

    getchar();
    return 0;
}

当我在 class Rectangle 中声明一个字符串类型的私有变量时,它显示了以下错误:

1>c:\users\subith.p\documents\visual studio 2008\projects\test\test\testclass.h(10) : error C2146: syntax error : missing ';' before identifier 'name'

1>c:\users\subith.p\documents\visual studio 2008\projects\test\test\testclass.h(10) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

#include <string> 添加到您的头文件 testclass.h

这个错误:

1>c:\users\subith.p\documents\visual studio 2008\projects\test\test\testclass.h(10):错误 C2146:语法错误:缺少“;”在标识符 'name'

之前

说明问题出在testclass.h头文件,你没有给我们看

最可能的原因是您的 TestClass.h 没有看到来自 <string> 的包含,您应该重新组织您的包含,将 #include <string> 移到 #include "TestClass.h" 上方:

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

或作为更推荐和更常见的方法,将 #include <string> 添加到您的 testclass.h