无法识别 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
。
我正在使用 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
。