[英]C++ invalid conversion from 'char' to 'const char*' [-fpermissive]|
I have a problem with this code: 我有这个代码的问题:
void keylist(char key)
{
//check if the user presses a key
if(GetAsyncKeyState(key))
{
string skey = key;
buffer.append(skey);
counter++;
}
}
Everytime I try to run the program it gives me this error: CodeBlocks Projects\\CB32KLG\\main.cpp|66|error: invalid conversion from 'char' to 'const char*' [-fpermissive]| 每次我尝试运行程序时它都会给我这个错误:CodeBlocks Projects \\ CB32KLG \\ main.cpp | 66 |错误:从'char'无效转换为'const char *'[-fpermissive] |
It's because of this 正因为如此
string skey = key;
There's no overloaded constructor in string which only takes character as its input.See below the complete list:- 字符串中没有重载的构造函数,只接受字符作为输入。请参阅完整列表下方: -
string();
string (const string& str);
string (const string& str, size_t pos, size_t len = npos);
string (const char* s);
string (const char* s, size_t n);
string (size_t n, char c);
template <class InputIterator>
string (InputIterator first, InputIterator last);
To fix you can use:- 要修复你可以使用: -
string skey(1, key);
string skey = key;
There is no viable converting constructor in string
that takes just a char
. string
中没有可行的转换构造函数只需要一个char
。
Initialize it like this: 像这样初始化它:
string skey{key};
Or this: 或这个:
string skey(1, key);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.