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

"Identifier not found" при использовании функции system() - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Sasuke
 Аватар для Sasuke
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 89
07.03.2010, 20:09     "Identifier not found" при использовании функции system() #1
Хотел бы спросить о следующем:
1) Почему, когда я использую функцию system(), у меня выводит след. ошибку --> identifier not found
Библиотеки пробовал, а точнее одну: <windows.h>

2) Вопрос о выделении памяти с помощью new-delete.
2.1 Почему, выделяя память под несколько массивов, пытаясь освободить память delete, ставя, например:
C++
1
2
delete mas;
delete mass;
в процессе выполнения программы у меня выводит ошибку? Потом, видел один листинг, в котором освобождение шло только для одного массива. Это не означает, что он освобождает сразу два массива?
2.2 Можно ли вместо delete использовать free()?
2.3 Если я выделяю память под массив структур, в котором есть еще один массив, под который я так же выделяю память, и тоже с помощью new, освобождать память в конце программы мне требуется для обеих массивов или только для одного, т.е. "главного", в котором помещен еще один массив?

Заранее благодарю!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2010, 20:09     "Identifier not found" при использовании функции system()
Посмотрите здесь:

Error C3861: 'convert_close': identifier not found //ошибка C++
C++ Ошибка в коде ('sqrt': identifier not found)
C++ Ошибка C3861 'time': identifier not found
C++ Identifier not found
C++ Ошибка identifier not found
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
07.03.2010, 20:14     "Identifier not found" при использовании функции system() #2
1 - какая IDE? попробуйте подключить cstdlib(stdlib.h)
2.1 - какая ошибка, приведите пример кода.
2.2 - нет, если память выделялась с помощью new, то тогда только delete.
2.3 - выделяете память под двумерный массив структур или в каждой структуре содержится массив?
Sasuke
 Аватар для Sasuke
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 89
07.03.2010, 20:58  [ТС]     "Identifier not found" при использовании функции system() #3
M128K145,
1. VS C++ 9.0. То что вы предложили не работает. Но самое интерестное, это то, что раньше, на этой же IDE всё работало, и без библиотек... ><
2.1 http://s49.***********/i124/1003/09/61f6d6c8ef01.png
2.3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
typedef struct type
{
    char *abc;
} TYPE;
typedef struct ion
{
    TYPE *b;
} ION;
 
///////
 
ION *perem=new ION[10];
for (int i=0; i<10; i++)
{
      perem[i].b=new TYPE[20];
}
 
/////////
 
delete perem; //  и всё? или освобождать еще и perem[i].b?
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
07.03.2010, 22:33     "Identifier not found" при использовании функции system() #4
Цитата Сообщение от Sasuke Посмотреть сообщение
delete perem; // и всё? или освобождать еще и perem[i].b?
1.
C++
1
2
3
4
5
for (int i=0; i<10; i++)
{
      delete[] perem[i].b;
}
delete[] perem;
Ну и если под TYPE.abc выделялась память, то и ее освободить неплохо тоже. А вообще в C++ есть такая полезная идиома - "умные указатели"....
Sasuke
 Аватар для Sasuke
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 89
07.03.2010, 23:54  [ТС]     "Identifier not found" при использовании функции system() #5
Цитата Сообщение от CheshireCat Посмотреть сообщение
"умные указатели"....
Немного не понял.. А что это означает?
Yandex
Объявления
07.03.2010, 23:54     "Identifier not found" при использовании функции system()
Ответ Создать тему
Опции темы

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