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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.96
Andrew->
0 / 0 / 0
Регистрация: 12.01.2010
Сообщений: 20
#1

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

12.01.2010, 19:02. Просмотров 3337. Ответов 43
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
#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
как исправить?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2010, 19:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка "variable-size type declared outside of any function" (C++):

Ошибка при компиляции "Size of the type 'char[]' is unknown or zero" - C++
При компиляции, появляется ошибка: Unit1.cpp(15): E2453 Size of the type 'char' is unknown or zero Помогите исправить. Вот текст...

Ошибка "C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead" - C++
error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use...

Hello World и ошибка "This function or variable may be unsafe. Consider using strcpy_s instead" - C++
int str() { char str21; char str1 = &quot;Hello World&quot;; strcpy(str21, str1); cout &lt;&lt; str1 &lt;&lt; &quot;\n&quot; &lt;&lt; strlen(str1) &lt;&lt; &quot;\n&quot; &lt;&lt;...

Сравнение строк и ошибка "This function or variable may be unsafe" - C++
Помогите разобраться с ошибками писал в Visual Studio 2013 #include &quot;stdafx.h&quot; #include &quot;iostream&quot; using namespace std; ...

Ошибка компиляции "This function or variable may be unsafe" - C++
Здравствуйте! Подскажите пожалуйста, как исправить ошибку: error c4996: 'strcpy': Twhis function or variable may be unsafe... ...

Ошибка: argument of type "char *" is incompatible with parameter of type "LPCWSTR" - C++
Помогите, пожалуйста, исправить ошибку в программе. #include &lt;iostream&gt; #include &quot;stdio.h&quot; #include &quot;windows.h&quot; #include &lt;conio.h&gt; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
13.01.2010, 13:30 #31
Цитата Сообщение от easybudda Посмотреть сообщение
Важнее другое - инициализировать при объявлении всё равно нужно.
easybudda абсолютно прав. Какая разница инициализируется ли переменная автоматически нулем или нет. Хотя бы исходя из правил хорошего тона инициализация необходима.
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 14:25 #32
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Хотя бы исходя из правил хорошего тона инициализация необходима.
не согласен.
C++
1
2
3
#include <string>
std::string gText; // о боже! не инициализирована явно!
int main() { }
0
easybudda
Модератор
Эксперт CЭксперт С++
9628 / 5576 / 947
Регистрация: 25.07.2009
Сообщений: 10,712
13.01.2010, 16:51 #33
zim22,
C++
1
2
3
4
5
void main(){
ifstream ifs(file_name);
int *i = new int;
ifs >> *i;
}
О, Боже! Файл не закрыли перед выходом.... Да и память не освободили... По большому счёту из той же песни...
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 17:52 #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 возвращать.
0
easybudda
Модератор
Эксперт CЭксперт С++
9628 / 5576 / 947
Регистрация: 25.07.2009
Сообщений: 10,712
13.01.2010, 19:00 #35
Цитата Сообщение от zim22 Посмотреть сообщение
void main - нету такого. main должно int возвращать.
C++
1
2
3
4
5
#include <iostream>
 
void main(){
    std::cout << "Helo, people!" << std::endl;
}
Мелкомягкий cl компилирует без сучка / без задоринки. gcc ругается
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
13.01.2010, 19:09 #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;
}
0
easybudda
Модератор
Эксперт CЭксперт С++
9628 / 5576 / 947
Регистрация: 25.07.2009
Сообщений: 10,712
13.01.2010, 19:16 #37
Цитата Сообщение от TanT Посмотреть сообщение
Зим прав, настоятельно рекомендуется использовать именно
да я-то в курсе, что программа должна системе какой-то результат своей работы возвращать. нужен был дурацкий пример, вот я такой и написал... так ведь работает же, как ни странно...
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
13.01.2010, 19:21 #38
Цитата Сообщение от easybudda Посмотреть сообщение
так ведь работает же, как ни странно...
это скорее плохо, чем хорошо
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 19:27 #39
Цитата Сообщение от easybudda Посмотреть сообщение
Мелкомягкий cl компилирует без сучка / без задоринки.
microsoft - не самый лучший пример следованию Стандарта С++
попробуй comeau скомпилить свой код

http://www.comeaucomputing.com/tryitout/
0
easybudda
Модератор
Эксперт CЭксперт С++
9628 / 5576 / 947
Регистрация: 25.07.2009
Сообщений: 10,712
13.01.2010, 20:15 #40
Цитата Сообщение от TanT Посмотреть сообщение
это скорее плохо, чем хорошо
Ну у мелкомягких часто работает то, что не должно бы, и ещё чаще наоборот

Цитата Сообщение от zim22 Посмотреть сообщение
microsoft - не самый лучший пример следованию Стандарта С++
попробуй comeau скомпилить свой код
Цитата Сообщение от easybudda Посмотреть сообщение
gcc ругается
0
Somebody
2789 / 1603 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
13.01.2010, 20:39 #41
Цитата Сообщение от zim22 Посмотреть сообщение
деструктор ifstream закроет его сам
Уверен?
istream::~istream
Destructs an object of this class.
Note that it does not destroy nor performs any operations on the associated streambuf object.
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 20:50 #42
Цитата Сообщение от Somebody Посмотреть сообщение
Уверен?
yep
http://stackoverflow.com/questions/7...ose-a-ifstream
1
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
13.01.2010, 21:02 #43
Цитата Сообщение от zim22 Посмотреть сообщение
не согласен.
C++
1
2
3
#include <string>
std::string gText; // о боже! не инициализирована явно!
int main() { }
Речь не идет о случаях, когда изначально не ясно каким значением инициализировать переменную. Но в случае, например, подсчета суммы элементов массива, начальное значение переменной в которой будем накапливать сумму известно - это ноль. И этот факт нужно явно выразить инициализируя переменную суммы нулем, а не полагаться на то что компилятор сделает это за тебя.
0
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 21:12 #44
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
И этот факт нужно явно выразить инициализируя переменную суммы нулем, а не полагаться на то что компилятор сделает это за тебя.
согласен. локальные переменные нужно инициализировать, иначе они будут содержать мусор.
C++
1
2
3
4
5
int main() {
  int result; // аяяй. неинициализированная переменная!
  std::cin >> result;
  std::cout << result;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2010, 21:12
Привет! Вот еще темы с ответами:

Исправить ошибку "C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead." - C++
Добрый день! Помогите пожалуйста с программой. Программа запускается, но при компиляции выдает ошибку в указанной строке. текст...

Ошибка в Eclipse "Type Program "make" not found in PATH" - C++
Установил на комп Eclipse, MinGW, попробовал запустить уже готовый хэлловорлд, эклипс выдал ошибку &quot;Program &quot;make&quot; not found in PATH&quot;....

Ошибка argument of type "CGroup *" is incompatible with parameter of type "CGroup *" - C++
Задача состоит в том, чтобы на основе текстовых файлов сделать подобие базы данных. Есть 3 связанных таблицы: группы, студенты, оценки. ...

Почему возникает ошибка "function returning function is not allowed" - C++
Подключаю заголовочный файл .dll библиотеки, возникают ошибки #pragma once #include &lt;vector&gt; struct RSA_Interface { ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.01.2010, 21:12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru