C++ c实步否in.getline用清止好灯双措雷育直镇代法问题
的有关信息介绍如下:问题补充说明:看的是C++ Primer plus 第六版贴下代码#include "iostream"#include "cmath"#include "cstring"using namespace std;int main(void) { char name{20}; cout << "Please enter your name" << endl; cin.getline(name, 20); cout << "oh,your name is " << name << endl; return 0;}其中cin.getline()报错报错内容如下:严重性 代码 说明 项目 文件 行错误 C2664 “std::basic_istream> &std::basic_istream>::getline(_Elem *,std::streamsize,_Elem)”: 无法将参数 1 从“char”转换为“char *” ConsoleApplication2 c:\users\administrator.vvtpiks31vuky8u\documents\visual studio 2015\projects\consoleapplication2\consoleapplication2\firsttest.cpp 8严重性 代码 说明 项目 文件 行错误(活动) 没有与参数列表匹配的 重载函数 "std::basic_istream<_elem, _traits="">::getline [其中 _Elem=char, _Traits=std::char_traits]" 实例 ConsoleApplication2 c:\Users\Administrator.VVTPIKS31VUKY8U\Documents\Visual Studio 2015\Projects\ConsoleApplication2\ConsoleApplication2\firsttest.cpp 8请问怎么解决 用的是VS2015
char数组声明有问题,将大括号改成中括号,将
char nam尼卷现源创生e{20};改为
char name[20];整个远民土掉补程序为:
#include "iostream"#include "cm第研ath"#include "cstring"
using namespace std;
int main(vo处爱律将id)
{
char name[20];
cout << "Please enter your name" << endl;
cin.getline(name, 20);
cout << "oh,your name is " << name << end来自l;
}
结果为: