我已經試了一整天,沒有任何運氣...錯誤實例化類型的數組basic_regex
這工作:
std::regex pattern ("Test");
這不起作用:
std::regex pattern_array[2] {"Test1", "Test2"};
產生錯誤:
mainprog.cpp:534:47: error: could not convert ‘(const char*)"Test1"’ from ‘const char*’ to ‘std::regex {aka std::basic_regex<char>}’
mainprog.cpp:534:47: error: could not convert ‘(const char*)"Test2"’ from ‘const char*’ to ‘std::regex {aka std::basic_regex<char>}’
我有tr以創建一個與std::regex
具有相同結構的類,但我無法重新創建該錯誤(它完美地工作)。
我正在使用運行在Linux上的gcc 4.7.2進行編譯。
爲 std::regex感謝
文檔,我高度讚賞任何幫助。
卡萊
更新:
這是我改造的作品:
class testclass
{
public:
testclass(const char* s, bool b = true);
};
testclass::testclass(const char* s, bool b)
{
printf("Bool %d", b);
}
testclass obj1 ("Test");
testclass obj2[2] {"Test1", "Test2"};
請注意'explicit'部分。 – chris
已注意到!重新創建「問題」。感謝你們兩位幫助我。 – user2421206