@tasadar2

Почему компилятор выдает мне ошибку?

Набираю такую вещь:
char simbol[32] = { '~', '`', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '-', '=', '+', '{', '}', '[', ']', '|', '\', ':', '; ', ', ', '"', "'", ', ', '.', '<', '>', ' ? ', ' / ' };

И ему не нравится что вот это двоеточие, а если его нет то точка с запятой и т.д. и требует фигурную скобку всё время, а в конце ' }; тоже требует закрывающую скобку.

Вот его списочек ошибок:
Ошибка (активно)	E0067	требуется фигурная скобка "}"	MyProject	D:\pipi\MyProject\MyProject\filter.cpp	24	
Ошибка (активно)	E0008	отсутствует закрывающая скобка	MyProject	D:\pipi\MyProject\MyProject\filter.cpp	24	
Ошибка (активно)	E0067	требуется фигурная скобка "}"	MyProject	D:\pipi\MyProject\MyProject\filter.cpp	28	
Ошибка	C2001	newline в константе	MyProject	d:\pipi\myproject\myproject\filter.cpp	24	
Ошибка	C1075	"{": не найдена несоответствующая лексема	MyProject	d:\pipi\myproject\myproject\filter.cpp 7


И есть ли регулярные выражения в С++?
  • Вопрос задан
  • 3301 просмотр
Решения вопроса 2
GavriKos
@GavriKos
Уверен что причина в слешах. Потому что это начало escape-последовательности. Используйте двойной слеш.
Ответ написан
myjcom
@myjcom Куратор тега C++
string s = R"(!@#$%^&*()'")";

for(char c : s) cout << c << " ";

cout << "\n";

for(int i = 0; i < s.size(); ++i)
    cout << s[i] << " ";

cout << "\n";

const char* symbols = s.c_str();
for(int i = 0; i < s.size(); ++i)
    cout << symbols[i] << " ";

И есть ли регулярные выражения в С++?

https://en.cppreference.com/w/cpp/regex
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
TheRonCronix
@TheRonCronix
Так вот же: '\',
А нужно: '\\',

' -> \'
" -> \"
\ -> \\
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы