Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1

Ошибка LNK2019

25.11.2013, 20:46. Показов 917. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
При компиляции выдает ошибки, помогите пожалуйста растолковать, на вид код вроде бы понятный и правильный, не могу понять, в чем проблема. Задача во вложениях.

d:\dropbox\pascal\c++\проект2\проект2\ис ходный код2.cpp(19): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 11.0\vc\include\string.h(110): см. объявление "strcpy"
1> Создание кода...
1>Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl showgolf(struct golf const &)" (?showgolf@@YAXABUgolf@@@Z) в функции _main
1>D:\Dropbox\Pascal\C++\Проект2\Debug\Пр оект2.exe : fatal error LNK1120: неразрешенных внешних элементов: 1


3 файла:

заголовочный (header.h):
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
const int LEN = 40;
 
struct golf
{
    char fullname[LEN];
    int score; // поставил score (счет) вместо гандикапа, что бы было понятней
};
 
void setgolf (golf & g, const char * name, int score);
int setgolf (golf & g);
void score (golf & g, int);
void showgolf (const golf & g);


файл с определениями функций:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <Windows.h>
#include <string>
#include "header.h"
 
void setgolf (golf & g, const char * name, int score)
{
    strcpy(g.fullname,name);
    g.score = score;
}
 
int setgolf (golf & g)
{
        std::cout << "Введите имя гольфиста: ";
        std::cin >> g.fullname;
        if (g.fullname[0] = '\n') return 0;
        std::cout << "Введите его счет: ";
        std::cin >> g.score;
        return 1;
}
 
void score (golf & g, int score)
{
    g.score = score;
}
 
void showgolf (golf & g)
{
    std::cout << "Имя гольфиста: " <<  g.fullname << '\n';
    std::cout << "Счет гольфиста: " << g.score << '\n';
}


файл 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
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
#include <iostream>
#include <Windows.h>
#include <string>
#include "header.h"
 
#define rus setlocale(0,"rus");SetConsoleCP(1251);SetConsoleOutputCP(1251);
 
using std::cout; using std::cin; using std::endl;
 
int main()
{
    rus;
    golf arr[2];
    for (int i = 0; i < 3; i++)
    {
        if (setgolf(arr[i]) == 0) // проверка интерактивной функции (с запросом на ввод)
            break;
    }   
    //-------------------------------------
    cout << "Прогонка 1"; // первая прогонка, проверка совпадают ли введенные данные
    for (int i = 0; i < 3; i++)
    {
        cout << "Гольфист " << i << endl;
        showgolf(arr[i]);
        cout << endl;
    }   
    //-------------------------------------
    
    setgolf(arr[0], "abc cba", 312);  // проверка функции с ручным заполнением структуры
    
    //-------------------------------------
    cout << "Прогонка 2"; // вторая прогонка, должна измениться структура arr[0]
    for (int i = 0; i < 3; i++)
    {
        cout << "Гольфист " << i << endl;
        showgolf(arr[i]);
        cout << endl;
    }
    //-------------------------------------
    
    score(arr[0], 0); // функция, которая изменяет счет
    
    //-------------------------------------
    cout << "Прогонка 2"; // прогонка 3, должен изменится счет у структуры arr[0]
    for (int i = 0; i < 3; i++)
    {
        cout << "Гольфист " << i << endl;
        showgolf(arr[i]);
        cout << endl;
    }
    //--------------------------------
    system("pause");
    return 0;
}
Миниатюры
Ошибка LNK2019  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.11.2013, 20:46
Ответы с готовыми решениями:

Ошибка 2 error LNK2019, не пойму в чем ошибка
Выдает такую ошибку: Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ &quot;int __cdecl game(void)&quot; (?game@@YAHXZ) в...

Ошибка LNK2019
Создается библиотека D:\EWIL\EWIL(Old)\EWIL\scr\map editor\Debug\Map Editor.lib и объект D:\EWIL\EWIL(Old)\EWIL\scr\map editor\Debug\Map...

Ошибка LNK2019
Я только знакомлюсь с c++. Помогите пожалуйста разобраться. Есть такой класс: #pragma once template &lt;class Type&gt; class...

3
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
25.11.2013, 20:50
ф-я объявлена как
C++
1
void showgolf (const golf & g);
а определена как
C++
1
void showgolf (golf & g)
вот и ошибка компоновки
1
 Аватар для CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
25.11.2013, 21:58  [ТС]
Цитата Сообщение от retmas Посмотреть сообщение
ф-я объявлена как
C++
1
void showgolf (const golf & g);
а определена как
C++
1
void showgolf (golf & g)
вот и ошибка компоновки
Теперь после ввода имени программа зависает, и visual studio пишет вот такое:
Миниатюры
Ошибка LNK2019  
0
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
25.11.2013, 22:34
не вникал в код, но в циклах выход за пределы массива:
C++
1
golf arr[2];
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2013, 22:34
Помогаю со студенческими работами здесь

Ошибка LNK2019
Помогите разобраться с этой ошибкой. В программировании я еще новичок, поэтому не все пока понимаю. Задача состоит в том что надо...

Ошибка LNK2019
Добрый день. Недавно начала изучать С++ (необходимо для научной деятельности). Программирую я в Visual Studio 2010 Express Напечатал я...

Ошибка LNK2019
#include &lt;string&gt; using namespace std; class Language { public: Language() {}; void Log(string t) {}; };

Ошибка LNK2019
Пишу небольшую базу данных (в учебных целях поэтому нигде не сохраняю) и при добавлении всех функций и структур в библиотеку, при их...

Ошибка LNK2019
Всех с наступающим. Бьюсь на единственной ошибкой линковщика в коде. Сама ошибка похоже в перегрузке оператора умножения в шаблонном...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru