Я пытался весь день без каких-либо удачи ...Ошибка инстанцировании массив типа 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
, но я не могу воссоздать ошибку (она отлично работает).
Я использую gcc 4.7.2, работающий на Linux.
Документация для std::regex
Спасибо, я очень признателен за любую помощь.
Calle
Update:
Это моя реконструкция, которая работает:
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"};
Обратите внимание на «явную» часть. – chris
Отмечено! «Проблема» воссоздана. Спасибо вам обоим за помощь. – user2421206