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

Error LNK2019 - C++

Восстановить пароль Регистрация
 
Монтгомери
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 112
12.06.2014, 16:07     Error LNK2019 #1
Написал программу, а она выдаёт ошибку "error LNK2019"
Вот код программы:
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
#include <iostream>
using namespace std;
int n;
int recursive();
int nonrecursive();
void main()
{cin»n;
if(n>0)cout«"Recursive solution: "«recursive()«"\n"«"Nonrecursive solution: "«nonrecursive();
else cout«"Invalid input";
system("pause");}
int recursive();
{if(n<1)return -1; //Для некорректного вызова
if(n==2)return 7;
if(n==1)return 0;
return recursive(n-1)+29*recursive(n-2);}
int nonrecursive();
{if(n<1)return -1;
if(n==1)return 0;
if(n==2)return 7;
int i,sol1=0,sol2=7,soltemp;
for(i=0;i<n-1;i++)
{soltemp=sol1;
sol1=sol2;
sol2=sol1+29*soltemp;}
return sol2;}
Вот текст ошибки:

1>------ Сборка начата: проект: Проект24, Конфигурация: Debug Win32 —----
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ "int __cdecl recursive(void)" (?recursive@@YAHXZ) в функции _main
1>c:\users\1\documents\visual studio 2013\Projects\Проект24\Debug\Проект24.exe : fatal error LNK1120: неразрешенных внешних элементов: 1
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

В чём может быть проблема?

Заранее спасибо
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 16:07     Error LNK2019
Посмотрите здесь:

C++ error LNK2019
error: LNK2019 C++
C++ error LNK2019
C++ error LNK2019
C++ Ошибка error LNK2019:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jewbacabra
1791 / 1506 / 539
Регистрация: 24.04.2014
Сообщений: 4,228
12.06.2014, 16:09     Error LNK2019 #2
Монтгомери, в 11 и 16 строчке лишняя ;
P.S. тебе самому удобно такой код читать?
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 16:10     Error LNK2019 #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
int recursive();
C++
1
int nonrecursive();
Думаю, стоит убрать тут точку с запятой.
И почитать, наконец-то, как правильно работать с функциями.
И код разделять! Глаза ж вытекают...
Tulosba
12.06.2014, 16:10
  #4

Не по теме:

Цитата Сообщение от Монтгомери Посмотреть сообщение
cin»n;
из Word'а что ли скопировано?

Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 16:11     Error LNK2019 #5
C++
1
return recursive (n-1) + 29*recursive(n-2);
У Вас функция не принимает параметры, а Вы ей суёте их. Ай-ай-ай.
Монтгомери
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 112
12.06.2014, 16:13  [ТС]     Error LNK2019 #6
Спасибо, не заметил.
У меня вот, к примеру, глаза вытекают от размазанного на весь экран текста

Добавлено через 50 секунд
Tulosba, при чём тут Word?

Добавлено через 1 минуту
Там всё переделывалось раз 15, я уже запутался, где кусок старого кода, а где - нового.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 16:14     Error LNK2019 #7
Цитата Сообщение от Монтгомери Посмотреть сообщение
У меня вот, к примеру, глаза вытекают от размазанного на весь экран текста
Если правильно научиться писать код, то ничего вытекать не будет. Советую обрести сей навык.
Цитата Сообщение от Монтгомери Посмотреть сообщение
При чём тут Word?
Потому что у Вас не оператор ввода/вывода... А обычные скобочки.

Добавлено через 42 секунды
Цитата Сообщение от Монтгомери Посмотреть сообщение
Там всё переделывалось раз 15, я уже запутался, где кусок старого кода, а где - нового.
не удивительно. Я у Вас еле нашла начало и конец main.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.06.2014, 16:17     Error LNK2019 #8
Цитата Сообщение от Монтгомери Посмотреть сообщение
при чём тут Word?
Притом, что оператор сдвига это >> (два символа), а не » (один символ).
Монтгомери
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 112
12.06.2014, 16:19  [ТС]     Error LNK2019 #9
Цитата Сообщение от Тамика Посмотреть сообщение
Потому что у Вас не оператор ввода/вывода... А обычные скобочки.
Копипаста с Notepad++ в ВК (ВК переделал их в двойные) а из ВК сюда -_-

Добавлено через 2 минуты
Можете проверить, а теперь нормально?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
int recursive(int n);
int nonrecursive();
void main()
{int n;
cin>>n;
if(n>0)cout<<"Recursive solution: "<<recursive(n)<<"\n"<<"Nonrecursive solution: "<<nonrecursive();
else cout<<"Invalid input";
system("pause");}
int recursive(int n)
{if(n==2)return 7;
if(n==1)return 0;
return recursive(n-1)+29*recursive(n-2);}
int nonrecursive()
{int i,sol1=0,sol2=7,soltemp;
if(n==1)return 0;
if(n==2)return 7;
for(i=0;i<n-1;i++)
{soltemp=sol1;
sol1=sol2;
sol2=sol1+29*soltemp;}
return sol2;}
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 16:21     Error LNK2019 #10
Цитата Сообщение от Монтгомери Посмотреть сообщение
Можете проверить, а теперь нормально?
Хотите ещё кровопотёков из глаз моих зелёных?
Вы не исправили указанную мною ошибку. Как минимум.
А не, поправили. Сразу и не увидишь. Так вот. Раз уж у Вас нет компилятора, то буду вещать вместо него.
C++
1
2
    if(n==1)return 0;
    if(n==2)return 7;
Вот откуда Ваша функция должна знать про переменную n?
Монтгомери
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 112
12.06.2014, 16:23  [ТС]     Error LNK2019 #11
Цитата Сообщение от Тамика Посмотреть сообщение
Вы не исправили указанную мною ошибку.
А строки 11 и 15 говорят об обратном.
Или в прототипах ";" тоже надо убрать?
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 16:24     Error LNK2019 #12
Цитата Сообщение от Монтгомери Посмотреть сообщение
А строки 11 и 15 говорят об обратном.
Или в прототипах ";" тоже надо убрать?
Перечитайте пост последний мой.
Монтгомери
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 112
12.06.2014, 16:26  [ТС]     Error LNK2019 #13
Цитата Сообщение от Тамика Посмотреть сообщение
Вот откуда Ваша функция должна знать про переменную n?
Каюсь, опять моя невнимательность.

C++
1
2
3
4
5
6
int nonrecursive(int n);
void main()
. . . 
cout<<nonrecursive(int n);
. . .
int nonrecursive(int n){
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 16:27     Error LNK2019 #14
Вот теперь котэ доволен.
Ошибок нет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2014, 16:29     Error LNK2019
Еще ссылки по теме:

C++ Error LNK2019
C++ C++ - Error LNK1120,Error LNK2019
C++ Error LNK1120, error LNK2019, error LNK2028, queue

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

Или воспользуйтесь поиском по форуму:
Монтгомери
0 / 0 / 0
Регистрация: 10.09.2013
Сообщений: 112
12.06.2014, 16:29  [ТС]     Error LNK2019 #15
Спасибо. Сейчас одногруппнику отправлю, а то переустанавливать глючащую VS - история отнюдь не короткая.
Yandex
Объявления
12.06.2014, 16:29     Error LNK2019
Ответ Создать тему
Опции темы

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