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

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

Войти
Регистрация
Восстановить пароль
 
fors117
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 92
#1

Ошибка при компиляции студио2008 года - C++

26.02.2013, 23:50. Просмотров 492. Ответов 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
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
const long double  s=1.0,m=60.0,ch=3600.0,d=86400.0,mes=2592000.0,g=94608000.0,v=9460800000.0;
void main()
{long double    n1,n2,n3,n4,n5,n6,n7;
 n1=(log10(s))/log10(2);
 n2=(log10(m))/log10(2);
 n3=log10(ch)/log10(2);
 n4=(log10(d))/log10(2);
 n5=(log10(mes))/log10(2);
 n6=(log10(g))/log10(2);
 n7=(log10(v))/log10(2);
 
 cout<<n1<<endl;
 cout<<n2<<endl;
 cout<<n3<<endl;
 cout<<n4<<endl;
 cout<<n5<<endl;
 cout<<n6<<endl;
 cout<<n7<<endl;
 system("pause");


вот какая ошибка, прошу помощи по её устранению


Код
1>c:\users\максим\documents\visual studio 2008\projects\rabotayproshu\rabotayproshu\rabotayproshu.cpp(8) : error C2668: log10: неоднозначный вызов перегруженной функции
1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(569): может быть 'long double log10(long double)'
1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(521): или       'float log10(float)'
1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(122): или       'double log10(double)'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2013, 23:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при компиляции студио2008 года (C++):

Ошибка при компиляции. Где ошибка? (Работа с классом) - C++
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to `MeterNZiF::MeterNZiF()' &quot; на 7 строку приложения. ...

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

Не является внутренней или внешней командой - ошибка не при компиляции а при работе программы - C++
В VS скомпилировал код #include &lt;iostream&gt; using namespace std; int main() { int a; cout&lt;&lt;&quot;Hallo&quot;; cin&gt;&gt;a; cout&lt;&lt;a; ...

Использование шаблонов при наследовании, ошибка при компиляции - C++
При изучении списков написал шаблон протестировал, все работает. После написал класс наследник от шаблона List.h, компилятор выдает...

При компиляции ошибка. Ошибка c++ C2678 - C++
Ошибка c++ C2678 #include &lt;windows.h&gt; #include &lt;string&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; #include...

ошибка при компиляции - C++
//figure.h #ifndef FIGURE_H #define FIGURE_H class figure { public: char type; char x; int y; ...

5
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 00:01 #2
Скорее всего, причина в этом: log10(2). Напишите: log10(2.0).
0
fors117
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 92
27.02.2013, 00:03  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Скорее всего, причина в этом: log10(2). Напишите: log10(2.0).
теперь вот это)

1>c:\users\максим\documents\visual studio 2008\projects\rabotayproshu\rabotayproshu\rabotayproshu.cpp(10) : error C2086: long double n1: переопределение
1> c:\users\максим\documents\visual studio 2008\projects\rabotayproshu\rabotayproshu\rabotayproshu.cpp(9): см. объявление 'n1'
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 00:14 #4
Проверьте синтаксис, может где-что не так написали. Переопределения я там не вижу.

Добавлено через 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
#include <iostream>
#include <cmath>
using namespace std;
 
const long double  s=1.0,m=60.0,ch=3600.0,d=86400.0,mes=2592000.0,g=94608000.0,v=9460800000.0;
 
int main()
{
    
 long double    n1,n2,n3,n4,n5,n6,n7;
 n1=(log10(s))/log10(2.0);
 n2=(log10(m))/log10(2.0);
 n3=log10(ch)/log10(2.0);
 n4=(log10(d))/log10(2.0);
 n5=(log10(mes))/log10(2.0);
 n6=(log10(g))/log10(2.0);
 n7=(log10(v))/log10(2.0);
 
 cout<<n1<<endl;
 cout<<n2<<endl;
 cout<<n3<<endl;
 cout<<n4<<endl;
 cout<<n5<<endl;
 cout<<n6<<endl;
 cout<<n7<<endl;
 
 system("pause");
 return 0;
}
0
fors117
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 92
27.02.2013, 01:16  [ТС] #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Проверьте синтаксис, может где-что не так написали. Переопределения я там не вижу.

Добавлено через 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
#include <iostream>
#include <cmath>
using namespace std;
 
const long double  s=1.0,m=60.0,ch=3600.0,d=86400.0,mes=2592000.0,g=94608000.0,v=9460800000.0;
 
int main()
{
    
 long double    n1,n2,n3,n4,n5,n6,n7;
 n1=(log10(s))/log10(2.0);
 n2=(log10(m))/log10(2.0);
 n3=log10(ch)/log10(2.0);
 n4=(log10(d))/log10(2.0);
 n5=(log10(mes))/log10(2.0);
 n6=(log10(g))/log10(2.0);
 n7=(log10(v))/log10(2.0);
 
 cout<<n1<<endl;
 cout<<n2<<endl;
 cout<<n3<<endl;
 cout<<n4<<endl;
 cout<<n5<<endl;
 cout<<n6<<endl;
 cout<<n7<<endl;
 
 system("pause");
 return 0;
}
сделал до этого так же) спасибо всё же)
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3142 / 307
Регистрация: 04.12.2011
Сообщений: 8,673
Записей в блоге: 5
27.02.2013, 01:16 #6
Цитата Сообщение от fors117 Посмотреть сообщение
вот какая ошибка, прошу помощи по её устранению
Код
1>c:\users\максим\documents\visual studio 2008\projects\rabotayproshu\rabotayproshu\rabotayproshu.cpp(8) : error C2668: log10: неоднозначный вызов перегруженной функции
1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(569): может быть 'long double log10(long double)'
1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(521): или       'float log10(float)'
1>        c:\program files\microsoft visual studio 9.0\vc\include\math.h(122): или       'double log10(double)'
не передавайте литеральную константу без суффикса, а лучше создайте переменную типа long double и посчитайте в неё логарифм 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
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
const long double  s=1.0,m=60.0,ch=3600.0,d=86400.0,mes=2592000.0,g=94608000.0,v=9460800000.0;
void main(){
long double    n1,n2,n3,n4,n5,n6,n7;
long double logTwo = log10((long double)2);
 n1 = (log10(s))/logTwo;
 n2 = (log10(m))/logTwo;
 n3 = log10(ch)/logTwo;
 n4 = (log10(d))/logTwo;
 n5 = (log10(mes))/logTwo;
 n6 = (log10(g))/logTwo;
 n7 = (log10(v))/logTwo;
 cout<<n1<<endl;
 cout<<n2<<endl;
 cout<<n3<<endl;
 cout<<n4<<endl;
 cout<<n5<<endl;
 cout<<n6<<endl;
 cout<<n7<<endl;
 system("pause");
}
0
27.02.2013, 01:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2013, 01:16
Привет! Вот еще темы с ответами:

Ошибка при компиляции - C++
#include&quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;iomanip&gt; #include&lt;cmath&gt; #include&lt;time.h&gt; int main() { float mas; ...

Ошибка при компиляции - C++
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #include &quot;Unit1.h&quot; ...

Ошибка при компиляции - C++
Вот сам код где ошибка // Race value is index in ChrRaces.dbc enum Races { RACE_HUMAN = 1, RACE_ORC =...

Ошибка при компиляции - C++
Выдаёт ошибку fatal error C1083: Cannot open precompiled header file: 'Debug\proga.pch': No such file or directory Как исправить её ?...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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