ho qualche codice legacy C++ (utilizzato per la compilazione utilizzando GNU g ++ 2.95.3) avente la seguente dichiarazione std::basic_string<char,string_char_traits<char>,malloc_alloc> x;
Il file di intestazione erastring_char_traits <char> in C++ 11 per GNU/G ++ 4.9 (in precedenza 2.95.3)
#include <std/bastring.h>
Ora, io sono la migrazione a GU g ++ 4.9 in cui sto ottenendo questo errore: 1. std/bastring.h
non trovato 2. Quando cambio #include <std/bastring.h>
come #include <string>
, sto ottenendo il seguente errore:
error: 'string_char_traits' was not declared in this scope
std::basic_string<char,string_char_traits<char>,malloc_alloc> x;
error: template argument 2 is invalid
std::basic_string<char,string_char_traits<char>,malloc_alloc> x;
error: expected unqualified-id before ',' token
std::basic_string<char,string_char_traits<char>,malloc_alloc> x;
^
bisogno di una guida/contribuiscono a rendere questo compilabile sotto GNU g ++ 4.9
Sai perché 'malloc_alloc' è stato utilizzato in primo luogo piuttosto che solo' alloc'? Potresti riuscire a farla franca usando semplicemente 'std :: string'. – TartanLlama
@ DieterLücking errore fatale: std/bastring: nessun file o directory –
@TartanLlama Non sono sicuro del motivo per cui è stato usato malloc_alloc invece di allocare, sei std :: string farebbe lo stesso std :: basic_string? –