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

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

Войти
Регистрация
Восстановить пароль
 
 
Supernatural
301 / 156 / 29
Регистрация: 22.11.2010
Сообщений: 1,543
#1

Несистематическая ошибка на этапе компиляции - C++

04.01.2014, 19:56. Просмотров 434. Ответов 18
Метки нет (Все метки)

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#pragma hdrstop
#pragma argsused
#include <iostream.h>
 
void main()
{   double a[10];
    int index,i_max,i_min;
    double max,min,sum,sum2,x;
    sum=sum2=0;
    //-------------------------------------
    for (index = 0; index < 10; index++) { //ввода данных
    cin>>a[index];
    }
    //-------------------------------------
    for (index = 0; index < 10; index++) {
    if (a[index]<0) sum+=a[index];
    }                                   //суммирование отрицательных элементов
    cout<<"Summa otr elements "<<sum<<"\n";
    //------------------------------------------------
    max=-100000;
    min=100000;
    for (index = 0; index < 10; index++)
    if (a[index]>max) {max=a[index]; i_max=index; } //поиск максимального элемента
    cout<<"max="<<i_max<<"\n";
    //---------------------------------------------------
    for (index = 0; index < 10; index++)
    if (a[index]<min) {min=a[index]; i_min=index; } //поиск минимального элемента
    cout<<"min="<<i_min<<"\n";
    //---------------------------------------------------
    if (i_max>i_min)
    for (int i = i_min; i <= i_max; i++)
    sum2+=a[i];
    else
    if (i_max<i_min)
    for (int i = i_max; i <= i_min; i++)
    sum2+=a[i];
    //----------------------------------------------------
    cout<<"sum2="<<sum2<<"\n";
    //----------------------------------------------------
    for (int i = 0; i <= 10; i++) {
    if (a[i]>a[i+1])
     {
     x=a[i];
     a[i]=a[i+1];
     a[i+1]=x;}
     }
    for (int i = 0; i <= 10; i++) 
    cout<<a[i]<<" ";
    cin>>" ";
}
использую среду embarcadero, выводит ошибку unable to perform link, обычно указывается ошибка в строке. В данном случае ничего не показывает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2014, 19:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Несистематическая ошибка на этапе компиляции (C++):

Ошибка на этапе компиляции - C++
Добрый вечер. Ребят помогите, не могу понять в чем дело. Есть программа в которой описан 1 класс (работа с пользователями) Всё...

Потоки. Ввод-вывод. Ошибка на этапе компиляции. - C++
#include &lt;windows.h&gt; #include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; void main() { char...

Явная специализация шаблона функции - ошибка на этапе компиляции - C++
Всем привет, читаю книгу С. Прата и пытаюсь скомпилировать шаблонную функцию с явной специализацией, но на этапе компиляции вылезают...

Чтение файла на этапе компиляции - C++
Можно ли считать файл настроек на этапе компиляции? Нужно что бы выбросить код который в рантайме не понадобится (в зависимости от...

Проверка типа переменной на этапе компиляции - C++
Добрый день. Прошу экспертов( ну или всех, кто это знает ) показать, как правильно &quot;повешать&quot; проверку времени компиляции на то, был ли...

Вычисление размера массива на этапе компиляции - C++
Нашел код который вычисляет размер массива на этапе компиляции Но сам код мне не понятен. Объясните плз #include &lt;iostream&gt; ...

18
FreeMan108
121 / 121 / 6
Регистрация: 04.03.2013
Сообщений: 370
04.01.2014, 20:02 #2
Цитата Сообщение от Supernatural Посмотреть сообщение
cin>>" ";
Это чё за хрень
0
Catstail
Модератор
22640 / 11009 / 1785
Регистрация: 12.02.2012
Сообщений: 18,170
04.01.2014, 20:02 #3
Это - ошибка линковки, а не компиляции. Приведи полный текст ошибки.
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.01.2014, 20:21 #4
Цитата Сообщение от Catstail Посмотреть сообщение
Это - ошибка линковки, а не компиляции.
Да тут не с чего быть ошибке линковки.
Судя по всему ТС спер у кого-то древнючий и кривой код с <iostream.h>. Потому что после минимальных правок всё собирается на ура.
Кликните здесь для просмотра всего текста
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
 
using namespace std;
 
int main()
{   double a[10];
    int index,i_max,i_min;
    double max,min,sum,sum2,x;
    sum=sum2=0;
    //-------------------------------------
    for (index = 0; index < 10; index++) { //ввода данных
    cin>>a[index];
    }
    //-------------------------------------
    for (index = 0; index < 10; index++) {
    if (a[index]<0) sum+=a[index];
    }                                   //суммирование отрицательных элементов
    cout<<"Summa otr elements "<<sum<<"\n";
    //------------------------------------------------
    max=-100000;
    min=100000;
    for (index = 0; index < 10; index++)
    if (a[index]>max) {max=a[index]; i_max=index; } //поиск максимального элемента
    cout<<"max="<<i_max<<"\n";
    //---------------------------------------------------
    for (index = 0; index < 10; index++)
    if (a[index]<min) {min=a[index]; i_min=index; } //поиск минимального элемента
    cout<<"min="<<i_min<<"\n";
    //---------------------------------------------------
    if (i_max>i_min)
    for (int i = i_min; i <= i_max; i++)
    sum2+=a[i];
    else
    if (i_max<i_min)
    for (int i = i_max; i <= i_min; i++)
    sum2+=a[i];
    //----------------------------------------------------
    cout<<"sum2="<<sum2<<"\n";
    //----------------------------------------------------
    for (int i = 0; i <= 10; i++) {
    if (a[i]>a[i+1])
     {
     x=a[i];
     a[i]=a[i+1];
     a[i+1]=x;}
     }
    for (int i = 0; i <= 10; i++) 
    cout<<a[i]<<" ";
    cin>>a[0];
}
0
Catstail
Модератор
22640 / 11009 / 1785
Регистрация: 12.02.2012
Сообщений: 18,170
04.01.2014, 20:26 #5
Цитата Сообщение от Tulosba Посмотреть сообщение
Да тут не с чего быть ошибке линковки.
- а что означает "unable to perform link"?
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.01.2014, 20:33 #6
Цитата Сообщение от Catstail Посмотреть сообщение
- а что означает "unable to perform link"?
Мало ли что ТС напишет. С другой стороны, зная кривизну borland'а, текст ошибки может быть совершенно не связан с кодом.
1
Supernatural
301 / 156 / 29
Регистрация: 22.11.2010
Сообщений: 1,543
04.01.2014, 22:33  [ТС] #7
Цитата Сообщение от Tulosba Посмотреть сообщение
Да тут не с чего быть ошибке линковки.
Судя по всему ТС спер у кого-то древнючий и кривой код с <iostream.h>. Потому что после минимальных правок всё собирается на ура.
Кликните здесь для просмотра всего текста
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
 
using namespace std;
 
int main()
{   double a[10];
    int index,i_max,i_min;
    double max,min,sum,sum2,x;
    sum=sum2=0;
    //-------------------------------------
    for (index = 0; index < 10; index++) { //ввода данных
    cin>>a[index];
    }
    //-------------------------------------
    for (index = 0; index < 10; index++) {
    if (a[index]<0) sum+=a[index];
    }                                   //суммирование отрицательных элементов
    cout<<"Summa otr elements "<<sum<<"\n";
    //------------------------------------------------
    max=-100000;
    min=100000;
    for (index = 0; index < 10; index++)
    if (a[index]>max) {max=a[index]; i_max=index; } //поиск максимального элемента
    cout<<"max="<<i_max<<"\n";
    //---------------------------------------------------
    for (index = 0; index < 10; index++)
    if (a[index]<min) {min=a[index]; i_min=index; } //поиск минимального элемента
    cout<<"min="<<i_min<<"\n";
    //---------------------------------------------------
    if (i_max>i_min)
    for (int i = i_min; i <= i_max; i++)
    sum2+=a[i];
    else
    if (i_max<i_min)
    for (int i = i_max; i <= i_min; i++)
    sum2+=a[i];
    //----------------------------------------------------
    cout<<"sum2="<<sum2<<"\n";
    //----------------------------------------------------
    for (int i = 0; i <= 10; i++) {
    if (a[i]>a[i+1])
     {
     x=a[i];
     a[i]=a[i+1];
     a[i+1]=x;}
     }
    for (int i = 0; i <= 10; i++) 
    cout<<a[i]<<" ";
    cin>>a[0];
}
а вот это уже прямое оскорбление(держи себя в руках)-код писал сам. После нажатия f9 либо компилируется. либо нет. Сижу гоняю - что влияет...2 часа назад выскакивала эта ошибка, сейчас жму f9 и программа запускается.

Добавлено через 1 минуту
Цитата Сообщение от Catstail Посмотреть сообщение
- а что означает "unable to perform link"?
нет возможности выполнить связь, если дословно.
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.01.2014, 22:41 #8
Цитата Сообщение от Supernatural Посмотреть сообщение
а вот это уже прямое оскорбление(держи себя в руках)-код писал сам.
Ну сам так сам. Только не помешает узнать, что <iostream.h> уже как с десяток лет в реализациях отсутствует.
0
Supernatural
301 / 156 / 29
Регистрация: 22.11.2010
Сообщений: 1,543
04.01.2014, 22:51  [ТС] #9
ну у меня еще живет и не мешает.
сейчас код запустился будто ничего и не было.
меня вот интересует - от чего она может происходить.
0
Catstail
Модератор
22640 / 11009 / 1785
Регистрация: 12.02.2012
Сообщений: 18,170
04.01.2014, 23:51 #10
Цитата Сообщение от Supernatural Посмотреть сообщение
нет возможности выполнить связь, если дословно.
- не связь, а связывание. Это означает, что ошибка возникла не при компиляции. На что я тебе и указал.

Цитата Сообщение от Supernatural Посмотреть сообщение
меня вот интересует - от чего она может происходить.
- причин может быть много (начиная с прав доступа).
0
Supernatural
301 / 156 / 29
Регистрация: 22.11.2010
Сообщений: 1,543
05.01.2014, 00:06  [ТС] #11
Цитата Сообщение от Catstail Посмотреть сообщение
- не связь, а связывание. Это означает, что ошибка возникла не при компиляции. На что я тебе и указал.

- причин может быть много (начиная с прав доступа).
права доступа? я же не с классами работаю все таки, а с одномерным массивом. спишу эту ошибку на счет сборки среды
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
05.01.2014, 00:26 #12
Цитата Сообщение от Supernatural Посмотреть сообщение
права доступа? я же не с классами работаю все таки, а с одномерным массивом. спишу эту ошибку на счет сборки среды
Имеется в виду права доступа к файлу на уровне файловой системы ОС.
1
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
05.01.2014, 00:40 #13
1. Компилятор онлайн мне на прямую сказал что не найден файл iostream.h.
2. не хватает using namespace std; ну или std:: перед каждой функций из стандартного пространства имен.
3. Входная функция должна быть int и возвращать ноль в конце хотя это уже не обязательно.
4. cin>>" "; такого не бывает =) лучше заменить на system("pause"); при этом подключив cstdlib если потребуется.
1
Supernatural
301 / 156 / 29
Регистрация: 22.11.2010
Сообщений: 1,543
05.01.2014, 01:18  [ТС] #14
привык через cin )))
0
kazak
05.01.2014, 03:18     Несистематическая ошибка на этапе компиляции
  #15

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Только не помешает узнать, что <iostream.h> уже как с десяток лет в реализациях отсутствует.
Но при этом Builder до сих пор поддерживает оба варианта.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2014, 03:18
Привет! Вот еще темы с ответами:

Как на этапе компиляции определить принадлежность к классу? - C++
Есть шаблонный класс, который в зависимости от переданного класса в параметре подбирает нужный контейнер-обёртку. template&lt;typename...

Проверка значения аргумента функции на этапе компиляции - C++
Функция должна принимать int в качестве аргумента. Как можно на этапе компиляции проверить что значения аргумента больше ноля? Не могу...

Шаблоны и определение SSE типов на этапе компиляции - C++
Добрый вечер. Задача следующая: для каждого базового типа даных int, float и double есть свой intrinsic SSE тип - __m128i, __m128 и...

Как на этапе компиляции создать необходимое количество шаблонных функций? - C++
Есть алгоритм, который использует функцию от одного аргумента. Этот же алгоритм должен использовать функцию, которая задаётся тем же одним...


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

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

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