Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 24.03.2022
Сообщений: 32

Ошибка expected unqualified-id before 'namespace'

14.09.2022, 11:53. Показов 1208. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте, срочно нужна ваша помощь! При компиляции Codelite открывает какой-то файл "bits/locale_classes.h" и выдаёт ошибку expected unqualified-id before 'namespace'. Вот код многодульной программы:

________________________________________ _
Заголовочный файл modAlphaCipher.h
________________________________________ _

C++
1
2
3
4
5
6
7
8
9
10
11
12
#pragma once
#include <vector>
#include <string>
#include <map>
class modAlphaCipher{
private:
std::wstring numAlpha = L"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"; //алфавит по порядку
std::map <wchar_t,int> alphaNum; //ассоциативный массив "номер по символу" std::vector <int> key; //ключ
std::vector<int> convert(const std::string& s); //преобразование строка-вектор std::string convert(const std::vector<int>& v); //преобразование вектор-строка
public:
modAlphaCipher()=delete; //запретим конструктор без параметров modAlphaCipher(const std::string& skey); //конструктор для установки ключа std::string encrypt(const std::string& open_text); //зашифрование
std::string decrypt(const std::string& cipher_text);//расшифрование };
________________________________________ ____
Модуль с названием modAlphaCipher.cpp
________________________________________ ____

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "modAlphaCipher.h"
#include <locale>
#include <codecvt>
using namespace std;
std::locale loc("ru_RU.UTF-8");
std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> codec;
using namespace std;
modAlphaCipher::modAlphaCipher(const std::string& skey){
for(unsigned i = 0; i < numAlpha.size(); i++)
alphaNum[numAlpha[i]] = i;
key = convert(skey);
}
std::string modAlphaCipher::encrypt(const std::string& open_text){ 
std::vector<int> work = convert(open_text);
for(unsigned i = 0; i < work.size(); i++)
work[i] = (work[i] + key[i % key.size()]) % alphaNum.size(); return convert(work);
}
std::string modAlphaCipher::decrypt(const std::string& cipher_text){ 
std::vector<int> work = convert(cipher_text);
for(unsigned i = 0; i < work.size(); i++)
work[i] = (work[i] + alphaNum.size() - key[i % key.size()]) % alphaNum.size(); 
return convert(work);
}
inline std::vector<int> modAlphaCipher::convert(const std::string& s){
std::wstring ws = codec.from_bytes(s); // перекодируем из UTF-8 в UTF-32
std::vector<int> result;
for(auto c:ws)
result.push_back(alphaNum[c]);
return result;
}
inline std::string modAlphaCipher::convert(const std::vector<int>& v){ 
std::string result;
std::wstring ws = codec.from_bytes(result); // перекодируем из UTF-8 в UTF-32 for(auto i:v) ws.push_back(numAlpha[i]);
result = codec.to_bytes(ws);
return result;
}
________________________________________ __
Главный модуль с названием main.cpp
________________________________________ __

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include "modAlphaCipher.h"
void check(const string& Text, const string& key)
{
string cipherText;
string decryptedText;
modAlphaCipher cipher(key);
cipherText = cipher.encrypt(Text);
decryptedText = cipher.decrypt(cipherText);
cout<<"key="<<key<<endl;
cout<<Text<<endl;
cout<<cipherText<<endl;
cout<<decryptedText<<endl;
if (Text == decryptedText)
cout<<"Ok\n";
else
cout<<"Err\n";
}
int main(int argc, char **argv)
{
check("БЫСТРАЯКОРИЧНЕВАЯЛИСАПРЫГАЕТЧЕРЕЗЛЕНИВУЮСОБАКУ","ПРОСТО");
check("БЫСТРАЯКОРИЧНЕВАЯЛИСАПРЫГАЕТЧЕРЕЗЛЕНИВУЮСОБАКУ","ПРИМЕРЫ");
check("БЫСТРАЯКОРИЧНЕВАЯЛИСАПРЫГАЕТЧЕРЕЗЛЕНИВУЮСОБАКУ","АБВГ");
return 0;
}
________________________________________ ________________________________________ ____________

Пожалуйста, помогите! Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.09.2022, 11:53
Ответы с готовыми решениями:

Ошибка Expected unqualified-id before
Здравствуйте. Появилась ошибка в коде Expected unqualified-id before 'using' и Expected unqualified-id before '{' token. В чем проблема? ...

Ошибка: expected unqualified-id before ‘if’
Здравствуйте. Не могу понять почему в main() - if работает, а в классе - не работает. Конечно же сам код никакой смысловой нагрузки не...

Ошибка expected unqualified-id before ‘if’
Почему выдаёт такую ошибку expected unqualified-id before ‘if’ if(file) в нижней части кода ^~ #include &lt;iostream&gt; #include...

4
Модератор
 Аватар для long399
2882 / 1836 / 933
Регистрация: 16.10.2013
Сообщений: 5,240
Записей в блоге: 15
14.09.2022, 12:28
первое, что бросилось в глаза:

// modAlphaCipher.cpp
Цитата Сообщение от Kot_58rus Посмотреть сообщение
C++
4
5
6
7
using namespace std;
std::locale loc("ru_RU.UTF-8");
std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> codec;
using namespace std;
зачем 2 раза using использовать? лучше вообще отказаться от работы пространством имен std таким образом. Это может привести к конфликтам имен.

// main.cpp
Цитата Сообщение от Kot_58rus Посмотреть сообщение
C++
7
modAlphaCipher cipher(key);
в объявлении класса modAlphaCipher нет такого конструктора.
0
0 / 0 / 0
Регистрация: 24.03.2022
Сообщений: 32
14.09.2022, 12:34  [ТС]
А как же тогда мне изменить программу? Я просто не понимаю ничего, помогите пожалуйста её исправить
0
14.09.2022, 13:26

Не по теме:

Цитата Сообщение от Kot_58rus Посмотреть сообщение
Я просто не понимаю ничего,
И сажусь писать код на С++. Логично конечно.

0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12923 / 6790 / 1818
Регистрация: 18.10.2014
Сообщений: 17,182
14.09.2022, 17:18
Цитата Сообщение от Kot_58rus Посмотреть сообщение
C++
1
std::string decrypt(const std::string& cipher_text);//расшифрование };
Ну так: почему закрывающая }; в modAlphaCipher.h оказалось закомментирована?

Цитата Сообщение от Kot_58rus Посмотреть сообщение
C++
1
std::map <wchar_t,int> alphaNum; //ассоциативный массив "номер по символу" std::vector <int> key; //ключ
C++
1
modAlphaCipher()=delete; //запретим конструктор без параметров modAlphaCipher(const std::string& skey); //конструктор для установки ключа std::string encrypt(const std::string& open_text); //зашифрование
А здесь объявление поля
C++
1
key
и объявление конструктора
C++
1
modAlphaCipher(const std::string& skey)
оказалось закомментированы. Зачем вы это сделали? Зачем вы слепили эти строки в одну?

Цитата Сообщение от Kot_58rus Посмотреть сообщение
inline std::vector<int> modAlphaCipher::convert(const std::string& s){
Определения inline-функций вынесены в .cpp файл? Как это должно работать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.09.2022, 17:18
Помогаю со студенческими работами здесь

Ошибка expected unqualified-ID before '{' token
Я начинающий в этом деле и вот в таком коде писало эту ошибку. Из-за чего возникает и как её исправить? #include &lt;iostream&gt; ...

Expected unqualified-id before '(' token . ошибка
Не могу понять, как убрать ошибку. In member function `matrica matrica::operator=(massiv&amp;)': Expected unqualified-id before '('...

Ошибка: expected unqualified-id before '{' token
выходит такая ошибка error: expected unqualified-id before '{' token в чем проблема? #include&lt;stdio.h&gt; #include&lt;math.h&gt; float...

Ошибка error: expected unqualified-id before '{' token {
Ругается на код: #include &lt;string.h&gt; #include &quot;tasks.hpp&quot; void firstTask(std::vector&lt;int&gt; &amp;numbers1, int direction); { ...

Не компилируется проект. Ошибка: expected unqualified-id before 'public'
Добрый день коллеги! У меня есть вопрос: Не компилируется код программы, компилятор выдает следующее сообщение: expected...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru