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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
#1

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

15.10.2010, 22:23. Просмотров 2421. Ответов 12
Метки нет (Все метки)

Подскажите, пожалуйста, что эта может быть за ошибка fatal error LNK1120: 1 неразрешенных внешних элементов и warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.? Я плохо еще понимаю, потому задала такой вопрос.
Вот мой файлик с программой, в котором вычисляется функция, посмотрите, пожалуйста.
0
Вложения
Тип файла: rar Лаба1=ООП.rar (362.1 Кб, 33 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2010, 22:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Неразрешенный внешний символ (C++):

Неразрешенный внешний символ - C++
Здравствуйте! Недавно скачала библиотеку DocxFactory и решила, собственно, использовать ее в одном из проектов. В общем, путь к либе...

Неразрешенный внешний символ - C++
#include <math.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <iostream> #include <string> using...

Неразрешенный внешний символ - C++
Здравствуйте!Возникла проблема с классами Вот вообщем мой класс : WorldEdit.cpp #include "WorldEdit.h" #include "Mouse.h" ...

Неразрешенный внешний символ - C++
Привет всем, помогите исправить ошибку: Ошибка 1 error LNK2001: неразрешенный внешний символ ""struct kadry * array"...

Неразрешенный внешний символ - C++
Кароч дело в том что вечно видает ошибку в MFC1>Figure.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall...

Неразрешенный внешний символ - C++
Здравствуйте. Не понимаю почему возникает ошибка. Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ "class Token...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.10.2010, 22:29 #2
ну так используйте _getch() вместо getch(), в чем проблема-то
1
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
15.10.2010, 22:39  [ТС] #3
Спасибо, эта ошибка исчезла, но почему-то при запуске выбивает и эту ошибку fatal error LNK1120: 1 неразрешенных внешних элементов О_о
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.10.2010, 22:40 #4
у меня не открывается ваш архив, напишите текст программы и ошибку, так невозможно что-либо сказать
1
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
15.10.2010, 22:43  [ТС] #5
... не понимаю

Добавлено через 1 минуту
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
#include "MyClass.h" 
char* Error1_Del="Деление на ноль НЕВОЗМОЖНО!!!!!";
char* Error2_SQRT="Корень НЕ может быть меньше 0";
//char* Error_Res = "Переполнение при вычислении результата !!!!!!!!!";
char* Error_Exp = "Переполнение при вычислении exp(d)!!!!!!!!!";
char* CONTINUE="\n\n Нажмите любую клавишу - ПРОДОЛЖЕНИЕ или ESC - ВЫХОД.... \n";
 
int TCalc::Calc()// вычисление арифметического выражения
{
    cout <<" a="<<a<<"; c="<<c<<"; d="<<d<<endl;
    try // начало блока слежения за ошибками
    {
    cout<<"sqrt(25/c)=";
    if(!c)throw Error1_Del;
    double k=(double)25/c; //!!!!!
    cout<<"sqrt("<<k<<")=";
    if(k<0)throw Error2_SQRT;
    double y1=sqrt(k);
    cout<<y1<<endl;
    y1=y1-d+2;
    cout<<"Числитель ="<<y1<<endl;
 
    cout<<"Знаменатель=";
    double y2=d+a-1;
    if(!y2)throw Error1_Del;
    cout<<y2<<endl;
 
    /*long double res=y1/y2;
    cout<<"\n Результат y=";
    if (fabsl(res)>DBL_MAX) throw Error_Res;*/
    //cout<<res<<CONTINUE;
    } // конец блока слежения за ошибками
// Обработка исключетельных ситуаций
    catch(char* v) // исключения типа char* со значением v
    {
        cout<<"\n!!!! Обработка исключельных ситуаций."<<endl;
        cout<<"Ошибка:";
        cout<<v<<CONTINUE<<endl;
    }
    catch(...)// Абсолютный обработчик - перехват ВСЕХ исключений
    {
    cout<<"n!!!!! Обработка незапланированной исключительной ситуации."<<endl;
    throw;
    }
    //продолжение паьриы функции Calс
    return(_getch());
}
------ Построение начато: проект: Лаба1=ООП, Конфигурация: Debug Win32 ------
Компиляция...
MyClass.cpp
Компоновка...
MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
C:\Documents and Settings\Мы\Мои документы\Visual Studio 2008\Projects\Лаба1=ООП\Debug\Лаба1=ООП.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
Журнал построения был сохранен в "file://c:\Documents and Settings\Мы\Мои документы\Visual Studio 2008\Projects\Лаба1=ООП\Лаба1=ООП\Debug\BuildLog.htm"
Лаба1=ООП - ошибок 2, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.10.2010, 22:50 #6
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
65
66
67
68
69
70
71
const char* Error1_Del="Деление на ноль НЕВОЗМОЖНО!!!!!";
const char* Error2_SQRT="Корень НЕ может быть меньше 0";
//char* Error_Res = "Переполнение при вычислении результата !!!!!!!!!";
const char* Error_Exp = "Переполнение при вычислении exp(d)!!!!!!!!!";
const char* CONTINUE="\n\n Нажмите любую клавишу - ПРОДОЛЖЕНИЕ или ESC - ВЫХОД.... \n";
 
#include<iostream>
#include<math.h>
#include<conio.h>     //getch()
using namespace std;
 
//класс для вычисления арифметического выражения
class TCalc
{
  private:
  // описание данных - личных членов класса
  int a;
  float c;
  double d;
 
public:
    //конструктор
    TCalc(int av, float cv, double dv)
    {//инициализация данных-членов класса
      a=av;
      c=cv;
      d=dv;
    }
    int Calc(); // вычисление арифметического выражения
}; //TCalc
 
int TCalc::Calc()// вычисление арифметического выражения
{
    cout <<" a="<<a<<"; c="<<c<<"; d="<<d<<endl;
    try // начало блока слежения за ошибками
    {
    cout<<"sqrt(25/c)=";
    if(!c)throw Error1_Del;
    double k=(double)25/c; //!!!!!
    cout<<"sqrt("<<k<<")=";
    if(k<0)throw Error2_SQRT;
    double y1=sqrt(k);
    cout<<y1<<endl;
    y1=y1-d+2;
    cout<<"Числитель ="<<y1<<endl;
 
    cout<<"Знаменатель=";
    double y2=d+a-1;
    if(!y2)throw Error1_Del;
    cout<<y2<<endl;
 
    /*long double res=y1/y2;
    cout<<"\n Результат y=";
    if (fabsl(res)>DBL_MAX) throw Error_Res;*/
    //cout<<res<<CONTINUE;
    } // конец блока слежения за ошибками
// Обработка исключетельных ситуаций
    catch(char* v) // исключения типа char* со значением v
    {
        cout<<"\n!!!! Обработка исключельных ситуаций."<<endl;
        cout<<"Ошибка:";
        cout<<v<<CONTINUE<<endl;
    }
    catch(...)// Абсолютный обработчик - перехват ВСЕХ исключений
    {
    cout<<"n!!!!! Обработка незапланированной исключительной ситуации."<<endl;
    throw;
    }
    //продолжение паьриы функции Calс
    return(_getch());
}
а main.cpp то где?

Добавлено через 2 минуты
добавляем main.cpp
и там нечто врррроде
C++
1
2
3
4
5
6
7
8
#include "stdafx.h"
#include "MyClass.h"
#include <iostream>
 
int main(){
  TCalc c( 1,2,3 );
  std::cout << c.calc();
}
1
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
15.10.2010, 22:51  [ТС] #7
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
#ifndef _MYCLASS_H
#define _MYCLASS_H
#include<iostream>
#include<math.h>
#include<conio.h>     //getch()
using namespace std;
 
//класс для вычисления арифметического выражения
class TCalc
{
  private:
  // описание данных - личных членов класса
  int a;
  float c;
  double d;
 
public:
    //конструктор
    TCalc(int av, float cv, double dv)
    {//инициализация данных-членов класса
      a=av;
      c=cv;
      d=dv;
    }
    int Calc(); // вычисление арифметического выражения
}; //TCalc
#endif /*_MYCLASS_H*/

Я понимаю это?
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
15.10.2010, 22:56 #8
нет, это определение класса
должно быть еще файл, с примерно тем, что я написал
1
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
15.10.2010, 23:46  [ТС] #9
Ладно, сейчас что-то будем думать...

Добавлено через 43 минуты
Alex_x_x, помоги, пожалуйста, с main, а то я не знаю, что там писать, т.к. задачу написала по примеру, если не сложно?
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
16.10.2010, 00:08 #10
вот оно
1
Вложения
Тип файла: zip 11.zip (3.4 Кб, 69 просмотров)
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
16.10.2010, 00:20  [ТС] #11
А вы проверяли, у вас работает? У меня всё та же ужасная ошибка
fatal error C1083: Не удается открыть файл include: TCalc.h: No such file or directory
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
16.10.2010, 00:23 #12
открывайте проект который я скинул, там нечему не работать
1
Ksy
2 / 2 / 0
Регистрация: 16.05.2009
Сообщений: 103
16.10.2010, 00:35  [ТС] #13
Аааааааааааааааа, спасибо большое, вы мой спаситель!!! Что бы я без Вас делала?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2010, 00:35
Привет! Вот еще темы с ответами:

неразрешенный внешний символ - C++
В общем, проблема: подключаю библиотеку tbb (параллельные вычисления) и при компиляции выдается ошибка: &quot; Ошибка 4 error LNK2001:...

Неразрешенный внешний символ - C++
Ребят помогите, пожалуйста, не могу понять в чем заключается ошибка. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; ...

Неразрешенный внешний символ - C++
Ошибка LNK1120 неразрешенных внешних элементов: 1 Ошибка LNK2019 ссылка на неразрешенный внешний символ &quot;void __cdecl print(struct...

Ссылка на неразрешенный внешний символ - C++
Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ &quot;public: struct EQUIPMENT_ESSENCE * __thiscall...


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

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

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