c++里的string.h
#include<string.h>#include<iostream.h>voidmain(void){stringa="dj";cout<<a;}为什么总是提示找不到...
#include<string.h>
#include<iostream.h>
void main(void)
{
string a="dj";
cout<<a;
}
为什么总是提示找不到string类型,而我在另外一个程序里的string就可以找到。 展开
#include<iostream.h>
void main(void)
{
string a="dj";
cout<<a;
}
为什么总是提示找不到string类型,而我在另外一个程序里的string就可以找到。 展开
4个回答
展开全部
我来告诉你。 这是初学者使用 CString 时最常见的问题。有了 C++ 的帮助,很多问题你不需要深入的去考虑它,直接拿来用就行了,但是如果你不能深入了解它的运行机制,又会有很多问题让你迷惑,特别是有些看起来没有问题的代码,却偏偏不能正常工作。
比如,你会奇怪为什么不能写向下面这样的代码呢:
CString graycat = "Gray" + "Cat";
或者这样:
CString graycat("Gray" + "Cat");
事实上,编译器将抱怨上面的这些尝试。为什么呢?因为针对CString 和 LPCTSTR数据类型的各种各样的组合,“ +” 运算符 被定义成一个重载操作符。而不是两个 LPCTSTR 数据类型,它是底层数据类型。你不能对基本数据(如 int、char 或者 char*)类型重载 C++ 的运算符。你可以象下面这样做:
CString graycat = CString("Gray") + CString("Cat");
或者这样:
CString graycat = CString("Gray") + "Cat";
比如,你会奇怪为什么不能写向下面这样的代码呢:
CString graycat = "Gray" + "Cat";
或者这样:
CString graycat("Gray" + "Cat");
事实上,编译器将抱怨上面的这些尝试。为什么呢?因为针对CString 和 LPCTSTR数据类型的各种各样的组合,“ +” 运算符 被定义成一个重载操作符。而不是两个 LPCTSTR 数据类型,它是底层数据类型。你不能对基本数据(如 int、char 或者 char*)类型重载 C++ 的运算符。你可以象下面这样做:
CString graycat = CString("Gray") + CString("Cat");
或者这样:
CString graycat = CString("Gray") + "Cat";
展开全部
#include<string>
#include<iostream>
using namespace std;
void main(void)
{
string a="dj";
cout<<a;
}
#include<iostream>
using namespace std;
void main(void)
{
string a="dj";
cout<<a;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也刚遇到这个问题,之前好像可以的,郁闷,标注下,一会来看答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题就出在你工程里面没有引入正确的头文件。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询