私は運がなくて一日中試しました...
これは機能します:
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>}’
と同じ構造のクラスを作成しようとし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"};