Il seguente fallisce con l'errore prog.cpp:5:13: error: invalid conversion from ‘char’ to ‘const char*’
Come aggiungere un char a una std :: string?
int main()
{
char d = 'd';
std::string y("Hello worl");
y.append(d); // Line 5 - this fails
std::cout << y;
return 0;
}
Ho anche provato, quanto segue, che compila, ma si comporta in modo casuale in fase di esecuzione:
int main()
{
char d[1] = { 'd' };
std::string y("Hello worl");
y.append(d);
std::cout << y;
return 0;
}
Siamo spiacenti per questa domanda stupida, ma ho cercato in giro google, quello che ho potuto vedere sono solo "array di caratteri a char ptr", "PTR char a char allineamento", ecc
Che cosa si intende fallendo? – decasteljau
un errore del compilatore si..ho dimenticato qual è l'errore, ma è ragionevole. –
Hai delle risposte migliori qui sotto, ma puoi fare in modo che il secondo esempio funzioni come questo char d [2] = {'d', 0}; o solo char d [2] = "d"; Fondamentalmente, è necessario un 0 per terminare la stringa di stile c che si passa ad aggiungere – sbk