Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

variably modified type - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Две простенькие програмки http://www.cyberforum.ru/cpp-beginners/thread270857.html
При защите лабораторных спросили следующие задания : F(x)=N! Cin > N Найти N! Дан масив из 10 символов нужно вывести на экран числа кратные 7.
C++ Задана строка, содержащая буквы и числа Задана строка, содержащая буквы и числа. Найти произведение всех чисел, заданных в строке. Помогите написать программу. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread270854.html
Отредактировать заданное предложение... C++
Отредактировать заданное предложение удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами. Помогите написать программу... заранее спасибо
C++ fread
Подскажите пожалуйста, как можно записать в структура данные из файла используя fread, просто все записывается в одну кучу и только одна строка. Пример запроса:...
C++ матрица http://www.cyberforum.ru/cpp-beginners/thread270826.html
объясните как вывести матрицу 111111 011110 001100 001100 011110 111111 для вывода желательно использовать cout и желательно поменьше условий
C++ Как запустить программу на C++ написанную в VS 2008 Собственно такая проблема. Пытаюсь изучать MFC. Создаю в студии новый проект вин32, подключаю библиотеку MFC, код вот такой: файл app.h #include <afxwin.h> class CMainWin: public CFrameWnd {... подробнее

Показать сообщение отдельно
gl1234
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 4

variably modified type - C++

05.04.2011, 22:08. Просмотров 435. Ответов 4
Метки (Все метки)

Привет всем. Нужна помощь в решении проблемы с variably modified type в объявлении переменной по шаблону.
О чем в общем. Есть некая структура, которая содержит размер строки ( char[n] ), нужно обьявить переменную типа другой структуры с шаблоном типа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//код не с программы, просто как пример.
//в коде some_struct содержится в vector в классе, но это, по моему, роли не играет.
struct some_struct {
unsigned int size;
};
 
template <typename TypeX>
struct common_struct {
TypeX val;
};
some_struct s;
s.size=10;
common_struct<char[(int)s.size]> x;
Но компилятор выкидывает ошибку.
Код
error: 'char [(((unsigned int)(((int)_переменная_ + -0x000000001)) + 1)]' is a variably modified type
error:   trying to instantiate 'template<class TypeX> struct common_struct'
error: invalid type in declaration before ';' token
Создание новой переменной, и записывание туда размера ничего не дает. Если создать переменную типа int x=3; а потом её подставить - все работает.
Перерыл интернет на подобные ошибки - ничего толкового не нашел, только http://stackoverflow.com/questions/3...-modified-type , где решения я не нашел. В общем ошибка понятна, невозможно создать переменную типа по шаблону со значением с переменной. Нужно как-то привести тип переменной к не variably modified type. К слову, эта переменная крутится в цикле, поэтому нужно её переприсваивать, или удалять.

Компилятор -
Код
gcc (gcc-4.5.2-1-mingw32)
g++ (gcc-c++-4.5.2-1-mingw32)
mingw32-make (make-3.82-5-mingw32)
Заранее спасибо за любое решение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru