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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.81
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
#1

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

11.01.2011, 20:30. Просмотров 2612. Ответов 5
Метки нет (Все метки)

Написал две программы подряд. В них выскакивает одна и та же ошибка
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] << " ";
}
Помогите выяснить в чем ошибка, пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2011, 20:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка - ссылка на неразрешенный внешний символ (C++):

Ошибка: ссылка на неразрешенный внешний символ - C++
Уже час сижу не могу понять в чём дело. Получаю такие ошибки при компиляции: Файл интерфейса класса mystack.h: ...

Ошибка. Ссылка на неразрешенный внешний символ - C++
Здравствуйте. Ошибка такая: LNK2019 ссылка на неразрешенный внешний символ _main в функции &quot;int __cdecl invoke_main(void)&quot;...

Ошибка: ссылка на неразрешенный внешний символ - C++
Вообщем решил я тут скачать чужой код змейки(посмотреть что да как там), вроде подключил все библиотеки opengl. Но вот не задача,...

Ошибка компоновщика: ссылка на неразрешенный внешний символ - C++
Ошибка: ссылка на неразрешенный внешний символ: в строчке: int y = SomeClass::Func(x); Почему я не понимаю. Если класс поместить в файл с...

Ошибка LNK2019 | Ссылка на неразрешенный внешний символ - C++
Всем добрый день! При компиляции возникает ошибка LNK2019, не могу самостоятельно её отыскать. Помогите, пожалуйста, разобраться. ...

Ошибка: ссылка на неразрешенный внешний символ void - C++
помогите найти причину этой ошибки: #include &lt;windows.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;locale.h&gt; #include&lt;math.h&gt; ...

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

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

Добавлено через 50 секунд
значит всетаки в том и было дело) удачи
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2011, 20:57
Привет! Вот еще темы с ответами:

Ошибка LNK2019 - ссылка на неразрешенный внешний символ - C++
Доброго времени суток. При запуске выдается следующую ошибку: LNK2019 ссылка на неразрешенный внешний символ &quot;double __cdecl...

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

Ошибка LNK2019: ссылка на неразрешенный внешний символ - C++
Есть код, который должен складывать элементы классов. Вопрос, как нечистая сила мне мешает запустить код ? :D #include &quot;stdafx.h&quot; ...

Ошибка LNK2019 ссылка на неразрешенный внешний символ - C++
В заголовочном файле объявлен класс class cLogReader { public: cLogReader(int i) { }; ~cLogReader();


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

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

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