为什么在此代码atoi()
功能不能正常工作,为什么编译器把这个错误:为什么atoi函数不能将const char *转换为int?
initializing argument 1 of `int atoi(const char*)'
我的代码如下:
#include <iostream.h>
#include <stdlib.h>
int main()
{
int a;
char b;
cin >> b;
a = atoi(b);
cout << "\na";
return 0;
}
你给它一个'char' ... – chris
如果你不知道'char'和'为const char *的区别',你应该退后一步,阅读一本很好的入门书。类型是基本的,对它们有一个牢固的理解是很重要的。 –
'atoi'是一个糟糕的选择,因为无法判断它是否失败。我最喜欢的是'boost :: lexical_cast'。 – chris