0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
|
||||||
1 | ||||||
Ошибка "variable-size type declared outside of any function"12.01.2010, 19:02. Показов 4907. Ответов 43
Метки нет (Все метки)
variable-size type declared outside of any function как исправить?
0
|
12.01.2010, 19:02 | |
Ответы с готовыми решениями:
43
Ошибка "data out1" is inferred as a variable size matrix, while its properties in the model Explorer specify its size... Ошибка при компиляции 'Type-declaration character does not match declared data type.' Список с дробями: Variable or field 'input' declared void 'pd' was not declared in this scope Ошибка: cannot initialize a variable of type 'LightsState' with an rvalue of type 'void' Ошибка variable or fields 'OutVivod' declared void |
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||||
12.01.2010, 19:11 | 2 | |||||
error C2057: expected constant expression
0
|
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
|
|
12.01.2010, 19:13 [ТС] | 3 |
а как записать его?
0
|
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
|
|
12.01.2010, 19:16 | 4 |
Объявление массива тут же не может происходить, елки палки!
Убирай int N а в начале пиши #define N 255 (или еще чего)
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||||
12.01.2010, 19:18 | 5 | |||||
что понимается под объявлением?
это компилится на ура:
0
|
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
|
|
12.01.2010, 19:22 [ТС] | 6 |
#define N 255 зачем она? что эта запись делает
0
|
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
|
|||||||||||
12.01.2010, 19:25 | 7 | ||||||||||
zim22, Дык сразу понятно, что такое скомпилится на ура.
Andrew->, Это чтобы не заниматься ерундой и объявить константу N для задания размерности
0
|
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
|
|
12.01.2010, 19:32 [ТС] | 8 |
0
|
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
|
|
12.01.2010, 19:33 | 9 |
Andrew->, Надо просто не задавать размерность массива в этой же функции.
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||||
12.01.2010, 20:25 | 10 | |||||
*** извини, если тебе кажется, что я придираюсь - это не так. мне действительно интересно.
0
|
Модератор
12460 / 7484 / 1754
Регистрация: 25.07.2009
Сообщений: 13,763
|
|
12.01.2010, 20:50 | 11 |
Переменная, объявленная вне какой-либо функции считается статической. А статические переменные нельзя объявлять без инициализации. Перенесите их внутрь main(), там каким-либо образом инициализируйте, а потом уже в функцию в качестве параметров передавайте.
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|
12.01.2010, 21:13 | 12 |
нет. она считается переменной с external linkage. (глобальной переменной)
но НИКАК не статической
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
12.01.2010, 21:20 | 13 |
zim22, потому что нельзя использовать переменные при задании размера массива. Константы можно, переменные - нет.
Попробуй объявить N как константу и сам все увидишь.
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||||
12.01.2010, 21:24 | 14 | |||||
ок. объявил N как константу
в чём проблема? я ведь константу объявил, как ты и говорил...
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
12.01.2010, 21:29 | 15 |
zim22, код с объявлением покажи.
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||||
12.01.2010, 21:42 | 16 | |||||
это он и есть
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
12.01.2010, 21:48 | 17 | |||||
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|
12.01.2010, 21:54 | 18 |
так работает, я знаю.
*** gcc оказался более умным, чем msvc gcc: error: 'N' was not declared in this scope http://codepad.org/KZgYGrIx
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||||||||||
12.01.2010, 21:58 | 19 | ||||||||||
Я вообще слабо себе представляю зачем указывать размер массива?
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||||
12.01.2010, 22:05 | 20 | |||||
в случае одномерных массивов - размер указывать не нужно. всё-равно компилятор игнорирует его.
в случае же многомерных массивов - нужно указывать вторую и более размерность (по крайней мере у меня без указания размерности не получалось откомпилить код)
0
|
12.01.2010, 22:05 | |
12.01.2010, 22:05 | |
Помогаю со студенческими работами здесь
20
Ошибка "Type-declaration character does not match declared data type" Ошибка "Type-declaration character does not match declared data type" Возникает ошибка Error 1 A local variable named 'c' cannot be declared in this scope because it would give a different m Ошибка Error 1 A local variable named 'i' cannot be declared in this scope because it would give a different meaning to Ошибка type declaration character does not match declared data Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |