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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
Frankie Avalon
4 / 4 / 0
Регистрация: 14.10.2012
Сообщений: 64
#1

fatal error LNK1120 - C++

14.10.2012, 19:48. Просмотров 2242. Ответов 5
Метки нет (Все метки)

Всем привет. При компиляции выбивает такую ошибку:
C++
1
2
1>LINK : error LNK2001: неразрешенный внешний символ "_mainCRTStartup"
1>c:\users\1\documents\visual studio 2010\Projects\111111\Debug\111111.exe : fatal error LNK1120: 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
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
void main (void)
  {
    double k,z,n,i,alpha;
    long double a;
 printf("Vvedite k: \n");
 scanf("%f",k);
    printf("Vvedite z: \n"); 
 scanf("%f",z);
    printf("Vvedite i: \n"); 
 scanf("%d",i);
 
 n=pow(pow(1-pow(z,3),2),0.2));
 alpha=pow(3,i)-1;
 a=(pow(z,2)+k*n+13.44*pow(10,-5))/(fabs(pow(n,2)+pow(z,2)-24.5)*pow(sin,3)(alpha*z));
 
 
 printf( "alpha: " alpha);
 printf( "a: " a);
 
 return 0;
  }
Миниатюры
fatal error LNK1120  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2012, 19:48     fatal error LNK1120
Посмотрите здесь:

Fatal error LNK1120: - C++
Output: ------ Построение начато: проект: Lab1, Конфигурация: Debug Win32 ------ 1&gt; Lab1.cpp 1&gt;Lab1.obj : error LNK2028: ...

fatal error LNK1120: ? как исправить? - C++
project in visual studio 2012 .. и при компиляции ругается. помогите разобратся.... 1&gt;------ Build started: Project:...

В чём ошибка? fatal error LNK1120 - C++
Добрый вечер) Вот код, состоящий из класса(отдельного файла) и главной функции: #pragma once namespace Program { class...

fatal error LNK1120: 1 неразрешенных внешних элементов - C++
не понимаю где и в чем проблема???? #include&lt;iostream&gt; using namespace std; void main() {float a,b,c,p,S,max,min,sr; ...

Класс в заголовочном файле и fatal error LNK1120: - C++
Имею ошибку ConsoleApplication7.obj : error LNK2019: ссылка на неразрешенный внешний символ &quot;public: void __thiscall myClass:: print(void)&quot;...

FATAL ERROR LNK1120: 1 unresolved externals SOS! - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int main() { int a, factorial(int i); int x=0; int i,b,k=0; ...

Fatal error LNK1120: неразрешенных внешних элементов: 11 - C++
Добрый вечер, нужно написать программу, которая бы запускала виртуальную машину(WMware), делала снэпшот и откатывала до предыдущего...

Fatal error LNK1120: 1 неразрешенных внешних элементов - C++
Товарищи помогите второй день мучаюсь, не могу найти ошибку. В ООП я новичок и я так думаю ошибка в структуре работы алгоритма объектов...

C++ fatal error LNK1120: 1 неразрешенных внешних элементов - C++
Программа иллюстрирующая работу бинарных операторов // BitTest - инициируются две переменные и // выводятся результаты выполнения ...

fatal error LNK1120: 1 неразрешенных внешних элементов - C++
ту проблему исправил. #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; class rational { public: int...

Fatal error LNK1120: 2 неразрешенных внешних элементов - C++
привет всем , столкнулся с такой проблемой , 1&gt;main.obj : error LNK2001: неразрешенный внешний символ...

Ошибка-----fatal error LNK1120-- Где неправильно? - C++
Поскажите где ошибка? #include&lt;iostream&gt; using namespace std; int main() { for(;;)


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
14.10.2012, 20:04     fatal error LNK1120 #2
тип проекта с самого начала неверно задан.
еще раз создайте новый проект. тип проекта - консольное win32 приложение.
студия с самого начала в него добавит main и заголовочные файлы. вот это сперва соберите, чтобы не было ошибок линковки. потом уже туда скопируйте свой код.
Frankie Avalon
4 / 4 / 0
Регистрация: 14.10.2012
Сообщений: 64
14.10.2012, 20:19  [ТС]     fatal error LNK1120 #3
сделал уже с готовыми заголовками, теперь куча ошибок:

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
1>c:\users\1\documents\visual studio 2010\projects\laba1\laba1\laba1.cpp(20): error C2059: синтаксическая ошибка: )
1>c:\users\1\documents\visual studio 2010\projects\laba1\laba1\laba1.cpp(22): error C2668: pow: неоднозначный вызов перегруженной функции
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(583): может быть "long double pow(long double,int)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(535): или       "float pow(float,int)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(497): или       "double pow(double,int)"
1>          при попытке сопоставить список аргументов "(int, int)"
1>c:\users\1\documents\visual studio 2010\projects\laba1\laba1\laba1.cpp(22): error C2665: pow: ни одна из 6 перегрузок не может преобразовать все типы аргументов
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(122): может быть "double pow(double,double)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(497): или       "double pow(double,int)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(533): или       "float pow(float,float)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(535): или       "float pow(float,int)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(581): или       "long double pow(long double,long double)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(583): или       "long double pow(long double,int)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(122): или       "double pow(double,double)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(497): или       "double pow(double,int)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(533): или       "float pow(float,float)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(535): или       "float pow(float,int)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(581): или       "long double pow(long double,long double)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(583): или       "long double pow(long double,int)"
1>          при попытке сопоставить список аргументов "(overloaded-function, int)"
1>c:\users\1\documents\visual studio 2010\projects\laba1\laba1\laba1.cpp(25): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "alpha"
1>c:\users\1\documents\visual studio 2010\projects\laba1\laba1\laba1.cpp(25): error C2059: синтаксическая ошибка: )
1>c:\users\1\documents\visual studio 2010\projects\laba1\laba1\laba1.cpp(26): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "a"
1>c:\users\1\documents\visual studio 2010\projects\laba1\laba1\laba1.cpp(26): error C2059: синтаксическая ошибка: )
1>c:\users\1\documents\visual studio 2010\projects\laba1\laba1\laba1.cpp(28): error C2562: main: функция типа "void", возвращающая значение
1>          c:\users\1\documents\visual studio 2010\projects\laba1\laba1\laba1.cpp(9): см. объявление "main"
вообщем ошибки со скобками и с командой пов, гляньте пожалуйста, как можно исправить.
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
14.10.2012, 20:29     fatal error LNK1120 #4
ну так исправте синтаксические ошибки кроме той, которая связана с неоднозначностью pow.
на воринги пока можете забить. в вашем случае это не ошибки. остальные достаточно простые и их описание нормальное. со скобками перепудрили и функцию main следайте возвращаюшей int:
int main()
{
...
return 0;
}
Frankie Avalon
4 / 4 / 0
Регистрация: 14.10.2012
Сообщений: 64
14.10.2012, 21:22  [ТС]     fatal error LNK1120 #5
Упростил немного, все-равно идет перегрузка пова.

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
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
using namespace std;
int main ()
  {
    double k,z,n,i,alpha,s;
    long double a;
 printf("Vvedite k: \n");
 scanf("%lf",k);
    printf("Vvedite z: \n"); 
 scanf("%lf",z);
    printf("Vvedite i: \n"); 
 scanf("%lf",i);
 
 n=pow((pow(1-pow(z,3),2),0.2));
 alpha=pow(3,i)-1;
 a=(pow(z,2)+k*n+13.44*0.00001);
 s=(fabs(pow(n,2)+pow(z,2)-24.5)*pow(sin,3)(alpha*z));
 a=a/s;
 
 
 return 0;
  }
C++
1
2
3
4
5
6
7
8
9
1>c:\users\1\documents\visual studio 2010\projects\123123123123123123123123\123123123123123123123123\123123123123123123123123.cpp(16): error C2661: pow: нет перегруженной функции, принимающей 1 аргументов
1>c:\users\1\documents\visual studio 2010\projects\123123123123123123123123\123123123123123123123123\123123123123123123123123.cpp(19): error C2665: pow: ни одна из 6 перегрузок не может преобразовать все типы аргументов
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(122): может быть "double pow(double,double)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(497): или       "double pow(double,int)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(533): или       "float pow(float,float)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(535): или       "float pow(float,int)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(581): или       "long double pow(long double,long double)"
1>          c:\program files\microsoft visual studio 10.0\vc\include\math.h(583): или       "long double pow(long double,int)"
1>          при попытке сопоставить список аргументов "(overloaded-function, int)"
Можно как то без него обойтись? или что я не так делаю?
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
14.10.2012, 22:04     fatal error LNK1120 #6
в 16 строке лишние скобочки по краям.
а чтобы избавится от неоднозначности, типа аргументов для функции pow должны быть одинаковыми.
например:
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
  double d = 1;
  float f = 1;
  pow(d, f); // ошибка из-за неоднозначности
  // тут неоднозначность, потому что есть перегрузки функии
  // pow(double, double)  и pow(float, float) и компилятор не может
  // подобрать правильную функцию. потому что обе из них подходят
  // если он сделает с одним из аргументов преобразование. но т.к.
  // эти преобразования равнозначны, он ожидает, что нужное преобразование
  // укажет автор кода. поэтому нам нужно явно сделать так, чтобы типа обоих аргументов
  // были одинаковыми:
  pow(d, (double)f); // явное преобразование второго аргумента в double
  pow((float)d, f); // явное преобразование первого аргумента в float
  // такая проблема может возникать при комбинации разных типов, не только float и double
 
 //теперь выпишем проблемную строку (интересны только функции pow):
 //s=(fabs(pow(n,2)+pow(z,2)-24.5)*pow(sin,3)(alpha*z));
 pow(n,2); // ok
 pow(z,2); // ok
 pow(sin,3); // error
 
// вопрос: что такое sin? хз что вы имели в виду, но компилятор знает что есть функция sin
// и он пытается сделать вызов функции pow передавая ей в качестве первого аргумента
// указатель на функцию, которая требует преобазования в один из числовых типов ну и там
// возникают всякие неоднозначности. вот эту строку и нужно подправить. что такое sin?
// может вы хотели вызвать эту функцию с каким нибудь аргументом? типа так:
 pos(sin(alpha*z), 3); ?
 
// и кстати в исходном выражении запись
 pow(sin,3)(alpha*z) - неверная. отгадайте сами почему.

и еще совет на будущее: не пишите такие длинные выражение в одну строку. в них трудно искать ошибки как во время компиляции, так и во время выполнения.
при ошибках компиляции компилятор ругается на все такое выражение и ошибку уже приходится в нем искать глазами. а там много скобочек и прочих знаков,
поиск затруднен. разбивайте выражение на части и считайте все по кусочкам. вот тут примерно я об этом говорил. там выражение по проще, но принцып тот же
sinlnb3b3 и следующее корень пятой степени, где под корнем b3+10
Yandex
Объявления
14.10.2012, 22:04     fatal error LNK1120
Ответ Создать тему
Опции темы

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