2014-06-11 4 views
5

Dies ist meine erste Post hier, also bitte nachsichtig :)Wird set_value_at_thread_exit() auf gcc unterstützt?

Ich habe ein Problem mit der Methode set_value_at_thread_exit() aus der Klasse promise (Teil von C++ 11). Alles war in Ordnung in VS2013 aber GCC gibt mir folgende Fehlermeldung:

error: ‘class std::promise<int>’ has no member named ‘set_value_at_thread_exit’ 
    args->result.set_value_at_thread_exit(result); 

Ich habe versucht, GCC 4.8 und 4.9 auf Ubuntu 14.04

Der Code ist:

[...] 

int result = 0; 
Socket socket; 
result = CreateUDPSocket(&socket, false, ANY_IP, args->port); 
if (result != ERROR_SUCCESS) 
{ 
    args->result.set_value_at_thread_exit(result); 
    return; 
} 
args->result.set_value(ERROR_SUCCESS); 

[...] 

Antwort

7

Leider ist es isn Noch nicht unterstützt. Wenn Sie sich die status page

30.6.5 | Klassenvorlage promise | Teilweise | Fehlende set_*_at_thread_exit

+0

Einer der Preise für die Verwendung von Open-Source-Software. Die Sache war in der Spezifikation seit C++ 11 und GCC 4.9.2, die C++ 14 Zeug noch nicht hat. –