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

ошибки линковки с++(... - C++

Восстановить пароль Регистрация
 
Галина123
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 42
04.02.2012, 23:39     ошибки линковки с++(... #1
помогите пожалуйста!! справится с ошибками линковки
масив.obj : error LNK2001: unresolved external symbol "void __cdecl obr(int &,int *)" (?obr@@YAXAAHPAH@Z)
масив.obj : error LNK2001: unresolved external symbol "void __cdecl vvod(int &,int *)" (?vvod@@YAXAAHPAH@Z)
Debug/масив.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <conio.h>
#include <new>
using namespace std;
void vvod(int&n,int *a);
void obr(int&n,int *a);
 
void newhandler()
{
    cout<<"Pamat ne videlena";
}
 
 
int main()
{
int n,i=0,*a,s=0,k=0;
set_new_handler(newhandler);
cout<<"vvedite razmer masiva"<<endl;// ввожу размер
 cin>>n;
 a= new int[n];
 
vvod (n,a);
obr(n,a);
getch();
delete[]a;
return 0;
}
void vvod(int n,int *a)
{
    int i=0;
 cout<<"vvedite elementi masiva"<<endl;
 for(i=0;i<n;i++)
 cin >> a[i];// ввела елементы
}
void obr (int n, int *a)
{
    int k,s,i=0;
for(i=0;i<n;i++)
{
if ((i+1)%2==0)
a[i]*=2;
if ((i+1)%2!=0)
a[i]*=-1;
}
for(i=0;i<n;i++)
{
if((a[i]>0)&&(a[i]!=0))
s++;
else
k++;
}
if (s==k)
cout<<"elementov odinakovo"<<s<<endl;
else
{
 if(s>k)
cout<<"pologitelnix bolche"<<s<<endl;
else
cout<<"otricatelnix bolche "<<k<<endl;
}
for(i=0;i<n;i++)
cout<<a[i]<<" ";
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2012, 23:39     ошибки линковки с++(...
Посмотрите здесь:

C++ Ошибка линковки
C++ Ошибки линковки LNK2005, LNK1169
Ошибки на стадии линковки C++
C++ Ошибка линковки
ошибка линковки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
04.02.2012, 23:51     ошибки линковки с++(... #2
объявили так:
C++
1
2
void vvod(int&n,int *a);
void obr(int&n,int *a);
а определили с другим набором аргументов
C++
1
2
void vvod(int n,int *a){...}
void obr (int n, int *a){...}
в объявлении ссылки на int, а в определении - просто инты. нужно чтобы типы аргументов полностью совпадали.
судя по всему вам нужны не ссылки в агрументе, а просто инты. т.е. объявите в самом начале ф-ии так:
C++
1
2
void vvod(int n,int *a);
void obr(int n,int *a);
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
05.02.2012, 00:15     ошибки линковки с++(... #3
Галина123, раз уж решили проверять выделена ли память, то соответственно обрабатывайте такую неудачу.
например:
C++
1
2
3
4
5
void newhandler()
{
    cout << "Память не выделена!\n";
    exit (1);
}
Галина123
0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 42
05.02.2012, 00:53  [ТС]     ошибки линковки с++(... #4
спасибо большое! только теперь выдает Assertion failed: ne_p ==0, file setnewh.cpp, line 52
и вижуал : abnormal program termination

Добавлено через 29 минут
Ребят спасибочки)) заработало в другом компиляторе))
Yandex
Объявления
05.02.2012, 00:53     ошибки линковки с++(...
Ответ Создать тему
Опции темы

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