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

ошибка variable-size type declared outside of any function - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.96
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 19:02     ошибка variable-size type declared outside of any function #1
#include <iostream>
using namespace std;
int N,K,M;
void vvod(int N,int A[N],int I);

void proverka(int J,int M,int A1[M]);

void vivod(int I1,int K,int A2[K]);

int main()

Добавлено через 36 секунд
variable-size type declared outside of any function
как исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 22:08  [ТС]     ошибка variable-size type declared outside of any function #21
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Я вообще слабо себе представляю зачем указывать размер массива?
C++
1
void vvod(int N,int A[],int I);
или
C++
1
void vvod(int N,int* A,int I);
в чем разница?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zim22
depict1
 Аватар для zim22
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
12.01.2010, 22:09     ошибка variable-size type declared outside of any function #22
Цитата Сообщение от Andrew-> Посмотреть сообщение
в чем разница?
ни в чём.
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 22:10  [ТС]     ошибка variable-size type declared outside of any function #23
int* A
int A[]
зачем звездочка?
zim22
depict1
 Аватар для zim22
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
12.01.2010, 22:11     ошибка variable-size type declared outside of any function #24
Цитата Сообщение от Andrew-> Посмотреть сообщение
зачем звездочка?
почитай книжки по С++. это указатель.
массив при передаче в функцию преобразовывается к указателю на его первый элемент.
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
12.01.2010, 22:15  [ТС]     ошибка variable-size type declared outside of any function #25
zim22, Сможешь быстро решить задачу?
zim22
depict1
 Аватар для zim22
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
12.01.2010, 22:15     ошибка variable-size type declared outside of any function #26
Цитата Сообщение от Andrew-> Посмотреть сообщение
Сможешь быстро решить задачу?
нет
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
13.01.2010, 00:19     ошибка variable-size type declared outside of any function #27
Цитата Сообщение от zim22 Посмотреть сообщение
нет. она считается переменной с external linkage. (глобальной переменной)
но НИКАК не статической
Ну пусть будет глобальной. Важнее другое - инициализировать при объявлении всё равно нужно.
zim22
depict1
 Аватар для zim22
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 10:52     ошибка variable-size type declared outside of any function #28
Цитата Сообщение от easybudda Посмотреть сообщение
Важнее другое - инициализировать при объявлении всё равно нужно.
если переменная глобальная, то она сама инициализируется.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
13.01.2010, 10:59     ошибка variable-size type declared outside of any function #29
По умолчанию инициализируются нулем переменные типа static, а вот про глобальные что-то не припомню.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
13.01.2010, 12:02     ошибка variable-size type declared outside of any function #30
Был неправ, признаю.
C
1
2
3
4
5
6
7
8
#include <stdio.h>
    
int empty_global;
 
int main(void){
    printf("%d\n", empty_global);
    return 0;
}
0 выводит.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
13.01.2010, 13:30     ошибка variable-size type declared outside of any function #31
Цитата Сообщение от easybudda Посмотреть сообщение
Важнее другое - инициализировать при объявлении всё равно нужно.
easybudda абсолютно прав. Какая разница инициализируется ли переменная автоматически нулем или нет. Хотя бы исходя из правил хорошего тона инициализация необходима.
zim22
depict1
 Аватар для zim22
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 14:25     ошибка variable-size type declared outside of any function #32
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Хотя бы исходя из правил хорошего тона инициализация необходима.
не согласен.
C++
1
2
3
#include <string>
std::string gText; // о боже! не инициализирована явно!
int main() { }
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
13.01.2010, 16:51     ошибка variable-size type declared outside of any function #33
zim22,
C++
1
2
3
4
5
void main(){
ifstream ifs(file_name);
int *i = new int;
ifs >> *i;
}
О, Боже! Файл не закрыли перед выходом.... Да и память не освободили... По большому счёту из той же песни...
zim22
depict1
 Аватар для zim22
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 17:52     ошибка variable-size type declared outside of any function #34
Цитата Сообщение от easybudda Посмотреть сообщение
О, Боже! Файл не закрыли перед выходом....
деструктор ifstream закроет его сам.

Цитата Сообщение от easybudda Посмотреть сообщение
Да и память не освободили...
это уже проблемы корявых рук программиста. можно использовать методику RAII, чтобы этого избежать.
Цитата Сообщение от easybudda Посмотреть сообщение
По большому счёту из той же песни...
нет. если инициализировать объекты при создании - то получится много лишнего и ненужного кода.
C++
1
2
3
#include <string>
std::string gText = std::string(); // так красивей что-ли?
int main() { }
Цитата Сообщение от easybudda Посмотреть сообщение
void main(){
void main - нету такого. main должно int возвращать.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
13.01.2010, 19:00     ошибка variable-size type declared outside of any function #35
Цитата Сообщение от zim22 Посмотреть сообщение
void main - нету такого. main должно int возвращать.
C++
1
2
3
4
5
#include <iostream>
 
void main(){
    std::cout << "Helo, people!" << std::endl;
}
Мелкомягкий cl компилирует без сучка / без задоринки. gcc ругается
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
13.01.2010, 19:09     ошибка variable-size type declared outside of any function #36
Цитата Сообщение от easybudda Посмотреть сообщение
C++
1
2
3
4
5
#include <iostream>
 
void main(){
    std::cout << "Helo, people!" << std::endl;
}
Мелкомягкий cl компилирует без сучка / без задоринки. gcc ругается
Зим прав, настоятельно рекомендуется использовать именно
C++
1
2
3
int main(){
return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
13.01.2010, 19:16     ошибка variable-size type declared outside of any function #37
Цитата Сообщение от TanT Посмотреть сообщение
Зим прав, настоятельно рекомендуется использовать именно
да я-то в курсе, что программа должна системе какой-то результат своей работы возвращать. нужен был дурацкий пример, вот я такой и написал... так ведь работает же, как ни странно...
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
13.01.2010, 19:21     ошибка variable-size type declared outside of any function #38
Цитата Сообщение от easybudda Посмотреть сообщение
так ведь работает же, как ни странно...
это скорее плохо, чем хорошо
zim22
depict1
 Аватар для zim22
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 19:27     ошибка variable-size type declared outside of any function #39
Цитата Сообщение от easybudda Посмотреть сообщение
Мелкомягкий cl компилирует без сучка / без задоринки.
microsoft - не самый лучший пример следованию Стандарта С++
попробуй comeau скомпилить свой код

http://www.comeaucomputing.com/tryitout/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2010, 20:15     ошибка variable-size type declared outside of any function
Еще ссылки по теме:

C++ Ошибка error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead
C++ Ошибка при работе с файлами: C4996: 'fopen': This function or variable may be unsafe
C++ Ошибка: 'strcpy': This function or variable may be unsafe

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
13.01.2010, 20:15     ошибка variable-size type declared outside of any function #40
Цитата Сообщение от TanT Посмотреть сообщение
это скорее плохо, чем хорошо
Ну у мелкомягких часто работает то, что не должно бы, и ещё чаще наоборот

Цитата Сообщение от zim22 Посмотреть сообщение
microsoft - не самый лучший пример следованию Стандарта С++
попробуй comeau скомпилить свой код
Цитата Сообщение от easybudda Посмотреть сообщение
gcc ругается
Yandex
Объявления
13.01.2010, 20:15     ошибка variable-size type declared outside of any function
Ответ Создать тему
Опции темы

Текущее время: 08:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru