C++学习——string和string.h
2015-08-18 15:22
232 查看
一直用c比较习惯,最近开始学C++,一开始就遇到了问题。如下的简单程序,string的使用。
VS提示错误如下:
错误
1
error C2679: 二进制“>>”: 没有找到接受“std::string”类型的右操作数的运算符(或没有可接受的转换)c:\users\likai\documents\visual studio 2013\projects\容器\容器\源.cpp71容器
2IntelliSense: 没有与这些操作数匹配的 ">>" 运算符
操作数类型为: std::istream >> std::stringc:\Users\likai\Documents\Visual Studio 2013\Projects\容器\容器\源.cpp76容器
仔细查看后,是自己将C中的string,h头文件在C++中使用,在C++中,string和string.h文件可以同时存在,string.h是C中的头文件。而在C++中误认为可行,导致运算符对>>对string不能辨别。所以应在C++中避免包括C标准库中的.h文件。
#include<iostream> #include<string.h> using namespace std; int main() { string str; cin >> str; for (auto c : str) cout << c << endl; }
VS提示错误如下:
错误
1
error C2679: 二进制“>>”: 没有找到接受“std::string”类型的右操作数的运算符(或没有可接受的转换)c:\users\likai\documents\visual studio 2013\projects\容器\容器\源.cpp71容器
2IntelliSense: 没有与这些操作数匹配的 ">>" 运算符
操作数类型为: std::istream >> std::stringc:\Users\likai\Documents\Visual Studio 2013\Projects\容器\容器\源.cpp76容器
仔细查看后,是自己将C中的string,h头文件在C++中使用,在C++中,string和string.h文件可以同时存在,string.h是C中的头文件。而在C++中误认为可行,导致运算符对>>对string不能辨别。所以应在C++中避免包括C标准库中的.h文件。
相关文章推荐
- this指针
- c语言实现字符串的各种操作
- const详解--C++
- 曾经的笔记迁移__C语言必背18个经典程序
- 【effective c++读书笔记】【第8章】定制new和delete(1)
- 【effective c++读书笔记】【第8章】定制new和delete(1)
- c语言实现各种排序算法
- [VS debug] C++ new做的工作
- 黑马程序员-----c语言基础与重点第三篇——函数1与循环
- MBR初识
- C++辛格尔顿
- C++ string(STL)
- c++模板学习
- C++手稿:std::string
- C++手稿:封装与继承
- C++手稿:虚函数与多态
- C++的继承与派生
- C++手稿:运算符重载
- C++ :: 的用法小结
- 用c++写2048