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

Ошибка - ссылка на неразрешенный внешний символ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.81
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
11.01.2011, 20:30     Ошибка - ссылка на неразрешенный внешний символ #1
Написал две программы подряд. В них выскакивает одна и та же ошибка
1>------ Построение начато: проект: 4, Конфигурация: Debug Win32 ------
1>Компоновка...
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
1>G:\4\Debug\4.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>Журнал построения был сохранен в "file://g:\4\4\Debug\BuildLog.htm"
1>4 - ошибок 2, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Несколько раз все просмотрел по буквам, но так и не чего не нашел. Причем в старых подобных программах такой ошибки нет.

Первая программа.
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
#include <iostream>
using namespace std;
bool proverka(int , int );
void main()
{
    char otv='y';
    do
    {
        int N=0;
        do
        {
            cout << "Введите число в диапазоне от 1 до 9 ";
            cin >> N;
        }while((N<1)||(N>9));
 
        int chislo=0,c=9;             
        for (int i=0;i<N;i++) 
        {   
            chislo=chislo*10+c;     
            c--; 
        }
        int minNchislo=1;
        for(int i=0; i<N; ++i)
            minNchislo*=10;
        int count=0;
        for(;chislo>=minNchislo; --chislo)
            if(proverka(chislo,N))
            {
                cout << chislo << endl;
                ++count;
            }
        cout << count;
 
        cout << "Повторить? ";
        cin >> otv;
    }while(otv=='y');
 
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool proverka(int chislo, int N)
{
    int cifra=0, natcifra=chislo%10;
    chislo%=10;
    for(int i=0;i<N-1;i++)
    {
        cifra=chislo;
        cifra%=10;
        if(natcifra-2!=cifra)
            return false;
        natcifra=cifra;
    }
    return true;
}
Вторая программа:

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>
using namespace std;
 
int vichislenie(int mas[], int Newmas[], int n);
void vvod(int mas[], int n);
void vivod(int mas[], int n);
 
void main(void)
{
    char otv='y';
    do
    {
        int mas[100], Newmas[100], n=0;
        do
        {
            cout << "Введите размер массива не больше 100 ";
            cin >> n;
        }while(n<1||n>100);
 
        vvod(mas,n);
        if(int newrazmer=vichislenie(mas,Newmas,n))
        {
            cout << "Новый массив \n";
            vivod(Newmas,n);
        }
        else
            cout << "Новый массив не создан\n";
        cout << "Повторить? ";
        cin >> otv;
    }while(otv=='y');
}
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
bool proverka( int mas[], int n)
{
    int summa=0;
    for(int i=0;i<n;++i)
        summa+=mas[i];
    if(summa%2==0)
        return true;
    return false;
}
int vichislenie(int mas[], int Newmas[], int n)
{
    if(proverka(mas,n))
    {
        int min=mas[0];
        for(int i=1;i<n;++i)
            if(mas[i]<min)
                min=mas[i];
        int max=mas[0];
        for(int i=1;i<n;++i)
            if(mas[i]>max)
                max=mas[i];
        int newrazmer=0;
        for(int i=0; i<n; ++i)
            if(!(mas[i]==min||mas[i]==max))
            {
                Newmas[newrazmer]=mas[i];
                ++newrazmer;
            }
        return newrazmer;
    }
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
void vvod(int mas[], int n)
{
    cout << "Введите массив ";
    for(int i=0; i<n; ++i)
        cin >> mas[i];
}
 
void vivod(int mas[], int n)
{
    for(int i=0;i<n;++i)
        cout << mas[i] << " ";
}
Помогите выяснить в чем ошибка, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2011, 20:30     Ошибка - ссылка на неразрешенный внешний символ
Посмотрите здесь:

Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ C++
C++ Ошибка линковки: ссылка на неразрешенный внешний символ
Ошибка error LNK2019: ссылка на неразрешенный внешний символ C++
Ошибка линковщика LNK2019: ссылка на неразрешенный внешний символ C++
Не могу скомпилировать ошибка, ссылка на неразрешенный внешний символ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cibertronic
 Аватар для cibertronic
255 / 142 / 13
Регистрация: 27.12.2009
Сообщений: 893
11.01.2011, 20:41     Ошибка - ссылка на неразрешенный внешний символ #2
Цитата Сообщение от Chelioss Посмотреть сообщение
int cifra=0, natcifra=chislo%10;
чтото не припомню чтобы в определении типа можно было выполнять арифметические действия, кроме присваивания...
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
11.01.2011, 20:44  [ТС]     Ошибка - ссылка на неразрешенный внешний символ #3
Исправил, но ошибка не исчезла.
cibertronic
 Аватар для cibertronic
255 / 142 / 13
Регистрация: 27.12.2009
Сообщений: 893
11.01.2011, 20:48     Ошибка - ссылка на неразрешенный внешний символ #4
Цитата Сообщение от Chelioss Посмотреть сообщение
Код
24 if(!(mas[i]==min||mas[i]==max))
или я уже забывать начинаю или всеже тут тоже чегото нехватает....
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
11.01.2011, 20:53  [ТС]     Ошибка - ссылка на неразрешенный внешний символ #5
Поставил доп. скобки. Ошибка не исчезла. Однажды я исправил подобную ошибку. Там лишнее то ли в прототипе, то ли в заголовке функции было что-то написано.

Добавлено через 2 минуты
Создал новый пустой проект и туда перенес код. Все работает. Ура!
cibertronic
 Аватар для cibertronic
255 / 142 / 13
Регистрация: 27.12.2009
Сообщений: 893
11.01.2011, 20:57     Ошибка - ссылка на неразрешенный внешний символ #6
ну в синтаксисе не вижу покрайней мере визуально...инструментально проверить не могу...компилера установленного сейчас нет...эмм.. файлы прототипов все включил ?

Добавлено через 50 секунд
значит всетаки в том и было дело) удачи
Yandex
Объявления
11.01.2011, 20:57     Ошибка - ссылка на неразрешенный внешний символ
Ответ Создать тему
Опции темы

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