Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
30 / 8 / 2
Регистрация: 20.08.2011
Сообщений: 615

Компилятор некорректно парсит текст программы

14.08.2016, 00:02. Показов 626. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер!
Не понятно почему, но данный код не компилируется:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
template<int value>
class Test
{
    struct MyStruct
    {
        template<int key>
        static constexpr int test() { return 1; }
    };
 
public:
    static int test()
    {
        MyStruct::test<32>();
        return 1;
    }
};
 
int main()
{
   Test<100500>::test();
}
На выходе происходит ошибка (ошибки):
Code
1
2
3
4
5
6
ошибка: expected primary-expression before ')' token
         MyStruct::test<32>();
                            ^
ошибка: invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator<'
         MyStruct::test<32>();
                       ^
Т.е., как я понял, компилятор считает, что совокупность символов
Code
1
MyStruct::test
представляет собой некое значение! Не шаблонную функцию, а значение...

Что тут можно сделать?

PS Если же класс Test сделать обычным, не шаблонным, то все компилируется...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.08.2016, 00:02
Ответы с готовыми решениями:

Парсит нужный текст не до конца
Помогите, парсит только 1 строку, а нужно что бы все function Pars(T_, ForS, _T: string): string; var a, b:integer; begin Result...

Некорректно работает компилятор
Есть программа, которая вычисляет значение (1+c-2a^2)/2b^4. Если ввожу большие числа (20 1 999), то выдаёт ошибку 200 (деление на ноль) ...

Некорректно работает компилятор, выдает ошибки
E2075 Incorrect project override option: files\borland\cbuilder6\lib\vcl60.csm E2075 Incorrect project override option:...

5
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
14.08.2016, 00:30
Цитата Сообщение от [progeR] Посмотреть сообщение
Что тут можно сделать?
писать корректный код.
а не пенять на компилятор, коли рыло в пуху:
http://rextester.com/VEHB4796
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
template<int value> class Test
{
    struct MyStruct
    {
        template<int key>
        static constexpr int test() { return 1; }
    };
 
public:
    static int test()
    {
        MyStruct::template test<32>();
        return 1;
    }
};
 
int main()
{
   Test<100500>::test();
}
1
 Аватар для meJevin
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
14.08.2016, 01:19
hoggy, ух ты, а что это за вызов такой? При вызове статических шаблонных функций нужно template писать? Можно ссылочку на инфу или название этого приема пжлст?
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
14.08.2016, 01:21
Цитата Сообщение от meJevin Посмотреть сообщение
Можно ссылочку на инфу или название этого приема пжлст?
http://stackoverflow.com/quest... e-keywords
2
30 / 8 / 2
Регистрация: 20.08.2011
Сообщений: 615
14.08.2016, 08:57  [ТС]
А у Скотта Мейерса есть что-нибудь подобное? Про typename у него находил.
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
14.08.2016, 13:32
Цитата Сообщение от [progeR] Посмотреть сообщение
А у Скотта Мейерса есть что-нибудь подобное?
Это надо здесь смотреть: http://www.williamspublishing.... 513-3.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.08.2016, 13:32
Помогаю со студенческими работами здесь

Подскажите. Не компилирует текст программы, запрашивает в коде мол не достающую скобку. Ниже приведен текст программы.
#include &lt;iostream.h&gt; unsigned int perimetr ( int a,int b); int main() { int a,b; cin &gt;&gt; a; cin &gt;&gt; b; cout &lt;&lt; &quot;perimetr=&quot;...

Вывести на экран текст программы на Java, которая, в свою очередь, выводит текст программы на Ruby
Подскажите, пожалуйста, как написать программу на C# выводящую на экран текст программы на Java, которая, в свою очередь, выводит текст...

Дан текст программы на С++...Записать в выходной файл текст программы без комментариев
( структуры и текстовые файлы)– Чтение данных в массив структур должно производиться из входного текстового файла. Дан текст...

Некорректно отображается текст в TextBox
В текстбоксе собирается текст. Тексбокс с параметром Multiline. Каждая строка должна начинаться с нового абзаца textBox94.Text =...

Некорректно отображается текст на ipad
Всем привет! Помогите пожалуйста разобраться что не так! Сайт sledd.ru Проблема в блоке с телефонами в правом-верхнем углу. На...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru