2016-11-23 65 views
1

它的工作,但現在它不再工作,我不知道爲什麼。預期類型 - 操作員功能

我有這樣的代碼:

#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) + "\""; 
    } 

和編譯過程中,我有這樣的錯誤:

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

,這是 「」,它以紅色突出顯示。

我真的不明白髮生了什麼,以及它不再工作的原因是什麼。

你能幫我嗎?

謝謝

+3

你錯過了'-std = C++ 11'嗎? – P0W

+3

仍在編譯C++ 11? –

+0

謝謝大家指出我。事實上,我的CMakeList中的選項已被刪除。所以我又添加了-std = C++ 11編譯選項,現在一切正常。 謝謝! – lilouch

回答

1

感謝@Pow和@Gill Bates,我能夠解決這個問題。我不知道爲什麼我的CMakeList中的C++ 11選項已被刪除。

因此,我添加了這條線,現在一切正常。

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

謝謝!