您的位置首页生活百科

C++ c实步否in.getline用清止好灯双措雷育直镇代法问题

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;

}

结果为:

C++ c实步否in.getline用清止好灯双措雷育直镇代法问题