In C++ ho questo programma:C++, la conversione non valida dal 'char' a 'const char *'
#include <iostream>
using namespace std;
int main(){
string expression_input;
cout << "User Input: " << endl;
getline(cin, expression_input);
expression_input.insert(0, '('); //error happens here.
expression_input.append(')');
}
Sto ottenendo il seguente errore:
prog.cpp:15: error: invalid conversion from ‘char’ to ‘const char*’
prog.cpp:15: error: initializing argument 2 of
‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT,
_Traits, _Alloc>::insert(typename _Alloc::rebind<_CharT>::other::size_type,
const _CharT*) [with _CharT = char, _Traits = std::char_traits<char>,
_Alloc = std::allocator<char>]’
Dove mi sto convertendo da char
a const char*
? Non posso inserire un carattere nella posizione 0 di una stringa?
-1: Si può sicuramente usare 'insert' con un' char'. Devi solo usare un diverso sovraccarico di esso. –
credo di non aver menzionato che non funziona per la funzione string :: insert che usa la firma che usa – minus