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

Undefined symbol "array" - C++

Восстановить пароль Регистрация
 
3aBoeBaTeL
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 8
21.06.2012, 16:30     Undefined symbol "array" #1
не как не могу понять ошибку помогите найти если не трудно вот Ошибка :
Undefined symbol "array"
и предупреждение:
'searchnumber' is assigned a value that is never used

Вот код :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
//--------------------------
#include <conio.h>
//------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{         int index = -1 ;
          int searchnumber = 50 ;
                       int numelements;
                       cout << " vvedite number of elements: " ;
                               cin >> numelements ;
          int i;
          for ( i = 0; i < numelements; i ++) {
          if (array[i] == searchnumber ) {
          index = i;
          break;
          }}
          if (index != -1)
          cout << "numbers found at index " << index <<endl;
          else
          cout<<"number not found at array. " << endl;
 
         getch ();
        return 0;
 
           }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
21.06.2012, 16:40     Undefined symbol "array" #2
Берём в руки словарик и смотрим, чего же нам такого вполне внятно сказал компилятор...
3aBoeBaTeL
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 8
21.06.2012, 16:47  [ТС]     Undefined symbol "array" #3
я уже все посмотрел но так и не понял что же с етим массивом неверно, почему он его не опознает
Diezel2012
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 14
21.06.2012, 16:50     Undefined symbol "array" #4
Не объявлен массив в начале программы
3aBoeBaTeL
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 8
21.06.2012, 16:52  [ТС]     Undefined symbol "array" #5
не подскажете как это зделать или хоть ссылку какуюто
bLesk
 Аватар для bLesk
40 / 40 / 1
Регистрация: 24.11.2009
Сообщений: 165
21.06.2012, 16:58     Undefined symbol "array" #6
C++
1
int array[numelements];
Diezel2012
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 14
21.06.2012, 17:01     Undefined symbol "array" #7
const int a = заполняете размер массива;
int array[a]={здесь через запятую присваиваете значения элементам массива в зависимости от назначенного размера либо через цикл случайными числами};
bLesk
 Аватар для bLesk
40 / 40 / 1
Регистрация: 24.11.2009
Сообщений: 165
21.06.2012, 17:02     Undefined symbol "array" #8
Undefined symbol "array"
компилятор вам сообщает, что не знает "array" , т.е. вы что-то используете, чего не объявляли.
'searchnumber' is assigned a value that is never used
тут он говорит, объявили переменную, но не используете. хотя вам кажется, что используете в цикле когда ищете число в массиве, но ведь компилятор не знает, о том что вам нужен массив "array", т.к. вы его выше не объявили, следовательно "ищу не знаю что и не знаю где" как то так
3aBoeBaTeL
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 8
21.06.2012, 17:02  [ТС]     Undefined symbol "array" #9
после того как обявил оно выдает
constant expression required
bLesk
 Аватар для bLesk
40 / 40 / 1
Регистрация: 24.11.2009
Сообщений: 165
21.06.2012, 17:06     Undefined symbol "array" #10
в каком месте объявили?
компилятор вам говорит, что размер массива должен быть постоянным числом
3aBoeBaTeL
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 8
21.06.2012, 17:15  [ТС]     Undefined symbol "array" #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main(int argc, char* argv[])
{         int index = -1 ;
          int searchnumber = 50 ;
                       int numelements;
cout << " vvedite number of elements: " ;
             cin >> numelements ;
              int array[numelements];
              int i;
          for ( i = 0; i < numelements; i ++) {
          if (array[i] == searchnumber ) {
          index = i;
          break;
          }}
          if (index != -1)
          cout << "numbers found at index " << index <<endl;
          else
          cout<<"number not found at array. " << endl;
 
         getch ();
        return 0;
 
           }
Добавлено через 6 минут
Цитата Сообщение от bLesk Посмотреть сообщение
в каком месте объявили?
компилятор вам говорит, что размер массива должен быть постоянным числом
или в другом месте надо объявить ?
bLesk
 Аватар для bLesk
40 / 40 / 1
Регистрация: 24.11.2009
Сообщений: 165
21.06.2012, 17:17     Undefined symbol "array" #12
не знаю насколько правильно работает программа, но у меня она как минимум компилируется
Миниатюры
Undefined symbol "array"  
Diezel2012
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 14
21.06.2012, 17:18     Undefined symbol "array" #13
Я написал раннее посмотрите еще раз
3aBoeBaTeL
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 8
21.06.2012, 17:23  [ТС]     Undefined symbol "array" #14
хм, ну лан спасибо хоть за помощь

сейчас гляну

Добавлено через 3 минуты
Программа работает если я неподсретсвено ввожу сначало целое число вместо numelements
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.06.2012, 17:34     Undefined symbol "array" #15
вам не зря там написали что размер массива должен быть константной переменной. в вашем же сценарии с вводом размера массива так не прокатит. массив нужно динамически создавать.
3aBoeBaTeL
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 8
21.06.2012, 17:43  [ТС]     Undefined symbol "array" #16
Цитата Сообщение от DU Посмотреть сообщение
вам не зря там написали что размер массива должен быть константной переменной. в вашем же сценарии с вводом размера массива так не прокатит. массив нужно динамически создавать.
не могли бы вы подсказать как тогда можно выкрутится в етом случае
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.06.2012, 17:44     Undefined symbol "array" #17
C++
1
2
3
4
5
6
7
8
9
// вместо
 int array[numelements];
 
// написать
int* array = new int[numelements];
 
 
//и в конце программы не забыть удалить
delete [] array;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2012, 17:50     Undefined symbol "array"
Еще ссылки по теме:

Как подключить curl; ошибка "Against undefined symbol `curl_global_init'" C++
C++ Ошибка при подключении заголовочного файла: "error LNK2019: unresolved external symbol"
C++ Передача двумерного массива в функцию. Ошибка "invalid types for array subscript"

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

Или воспользуйтесь поиском по форуму:
3aBoeBaTeL
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 8
21.06.2012, 17:50  [ТС]     Undefined symbol "array" #18
Цитата Сообщение от DU Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
// вместо
 int array[numelements];
 
// написать
int* array = new int[numelements];
 
 
//и в конце программы не забыть удалить
delete [] array;
Все получилось , большое спасибо
Yandex
Объявления
21.06.2012, 17:50     Undefined symbol "array"
Ответ Создать тему
Опции темы

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