C++从'char'到'const char*'的无效转换 [-允许]|
C++ invalid conversion from 'char' to 'const char*' [-fpermissive]|
我对这段代码有问题:
void keylist(char key)
{
//check if the user presses a key
if(GetAsyncKeyState(key))
{
string skey = key;
buffer.append(skey);
counter++;
}
}
每次我尝试运行程序时,都会出现以下错误:CodeBlocks Projects\CB32KLG\main.cpp|66|错误:从"char"到"const char*"的转换无效[-fpermission]|
这是因为这个
string skey = key;
字符串中并没有重载构造函数,它只接受字符作为输入。请参阅以下完整列表:-
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);
要修复,您可以使用:-
string skey(1, key);
string skey = key;
在string
中没有一个可行的转换构造函数只需要一个char
初始化如下:
string skey{key};
或者这个:
string skey(1, key);
相关文章:
- 错误:从'void*'到'const uint8_t* {aka const unsigned char*}'的转换无效 [-允许]
- 错误:从 'char' 到 'const char' [-允许] strcat(加密,密钥[i])的转换无效;
- 'void (*)(const char*)' 'void (*)()' [-允许]
- 为什么标准关联有序容器允许"const char*"作为其键?
- 对 C++ 中的特定标头使用 extern C 关键字是否允许从 void* 转换为 char*?
- QT中不允许使用一行多个转换,例如qString到char*
- C++错误:从"char"到"const char*"的转换无效[-允许]
- 用于检查 char 数组是否仅包含允许的字符的函数
- c++11 严格别名规则是否允许通过 char *、char(&)[N],甚至 std::array<char、N> 和 -fstrict-aliasing -Wstrict-aliasi
- 错误:从 'const char*' 到 'char*' 的转换无效 [-允许]
- 为什么允许将字符串文字分配给 C++ 中 char * 类型的指针
- 为什么gcc允许字符串文字大于数组的char数组初始化
- 编译器允许"char * k = false"?为什么?
- ALL_OF从'char'到'const char*'的无效转换 [-允许]
- main.cpp|15|错误:从 'const char*' 到 'char' 的转换无效 [-允许]|制作游戏时出错
- 为什么不允许我将函数返回 const char* 的结果分配给 char*,bt 可以将字符串文字(常量)分配给 cha
- 为什么C++允许 char 数组作为参数,当它需要一个字符串时?
- 为什么 C 不允许从 char ** 隐式转换为 const char *const *(C++允许)?
- Visual C++ 6.0 中 "unsigned char" 数组允许的最大大小是多少?
- C++从'char'到'const char*'的无效转换 [-允许]|