简体   繁体   English

C ++无效转换为'char'到'const char *'[-fpermissive] |

[英]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.

相关问题 (C++) 错误:从 'char' 到 'const char*' 的无效转换 [-fpermissive] - (C++) error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive] C ++从&#39;char&#39;到&#39;const char *&#39;的无效转换[-fpermissive] - C++ invalid conversion from ‘char’ to ‘const char*’ [-fpermissive] C ++错误:从&#39;char&#39;到&#39;const char *&#39;的无效转换[-fpermissive] - C++ error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive] c++ 从“char”到“const char*”的无效转换 [-fpermissive] - c++ invalid conversion from 'char' to 'const char*' [-fpermissive] C ++错误:从&#39;int&#39;到&#39;const char *&#39;的无效转换[-fpermissive] | - C++ error: invalid conversion from 'int' to 'const char*' [-fpermissive]| 从&#39;char&#39;到&#39;const char *&#39;的无效转换[-fpermissive] - Invalid conversion from 'char' to 'const char*' [-fpermissive] 从&#39;const char *&#39;到&#39;char *&#39;的无效转换[-fpermissive] - invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] strcmp [c ++]错误:从&#39;char&#39;到&#39;const char *&#39;的无效转换[-fpermissive] - strcmp[c++] error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive] 从&#39;char&#39;到&#39;const char *&#39;的无效转换-fpermissive c ++ ASCII函数 - invalid conversion from 'char' to 'const char*' -fpermissive c++ ASCII function C++ atoi error 错误:从 'char' 到 'const char*' 的无效转换 [-fpermissive] - C++ atoi error error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM