2016-11-23 2 views
1

Es funktionierte, aber jetzt funktioniert es nicht mehr und ich weiß nicht warum.Erwartete ein Typ - Operator-Funktion

Ich habe diesen Code:

#include <string> 
#include <fstream> 
#include <sstream> 
#include <iostream> 
#include <cstddef> 
    std::string operator"" _quoted(const char* text, std::size_t len) { 
     return "\"" + std::string(text, len) + "\""; 
    } 

Und bei der Erstellung, ich habe diesen Fehler:

error: expected a type 
    std::string operator"" _quoted(const char* text, std::size_t len) { 
         ^

und das ist die "", die in rot hervorgehoben.

Ich verstehe wirklich nicht, was passiert ist und aus welchem ​​Grund es nicht mehr funktioniert.

Könnten Sie mir bitte helfen?

danken

+3

Haben Sie '-std = C++ 11' vermisst? – P0W

+3

Kompilieren Sie noch mit C++ 11? –

+0

Vielen Dank, dass Sie mich darauf hingewiesen haben. Tatsächlich wurde die Option in meiner CMakeList entfernt. Also habe ich noch einmal die -std = C++ 11 Kompilieroption hinzugefügt und nun funktioniert alles. danke! – lilouch

Antwort

1

danken @Pow und @Gill Bates, ich war in der Lage, das Problem zu lösen. Ich weiß nicht, warum auf meiner CMakeList die C++ 11 Option entfernt wurde.

Also habe ich diese Zeile hinzugefügt und alles funktioniert jetzt.

add_compile_options(-std=c++11 -stdlib=libc++) 

Vielen Dank!

Verwandte Themen