• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ M_PI nie wykrywa jako stałej matematycznej.

Object Storage Arubacloud
0 głosów
2,851 wizyt
pytanie zadane 3 marca 2017 w C i C++ przez Luryxyt Użytkownik (870 p.)
edycja 3 marca 2017
Przerabiam sobie 5odc Mirosława Zelenta Obiektowy C++ i użyta jest tam stała matematyczna M_PI. Otóż po dodaniu biblioteki nie wykrywa mi jej jako takiej zmiennej tylko dalej jako nie zidentyfikowany obiekt. Kompilator Visual Studio 2015.
komentarz 3 marca 2017 przez kornel53 Obywatel (1,610 p.)
Którą bibliotekę dodajesz do programu?
komentarz 3 marca 2017 przez Luryxyt Użytkownik (870 p.)
<math.h> ale nic nie dało

2 odpowiedzi

+3 głosów
odpowiedź 3 marca 2017 przez kornel53 Obywatel (1,610 p.)
wybrane 3 marca 2017
 
Najlepsza

Przed zaincludowaniem tej biblioteki na początku programu dopisz: 

#define _USE_MATH_DEFINES

Powinno pomóc.

komentarz 3 marca 2017 przez Luryxyt Użytkownik (870 p.)
Pomogło. :)
+2 głosów
odpowiedź 3 marca 2017 przez mokrowski Mędrzec (156,220 p.)

I używaj <cmath> a nie <math.h> w programach C++

#define _USE_MATH_DEFINES
#include <cmath>

 

komentarz 4 marca 2017 przez Luryxyt Użytkownik (870 p.)
Czemu <cmath>?
komentarz 4 marca 2017 przez mokrowski Mędrzec (156,220 p.)
Ze względu na pewność definiowania zmiany nazw w linkowaniu funkcji z C do C++. C nie implementuje polimorfizmu i kompilator trzeba o tym poinformować. To że może VS  w wersji X to ma, to tylko "uprzejmość" dostawcy narzędzia ale kiedyś się ... natniesz. Wszystkie nagłówki systemowe z C (np. stdio.h) mają swój odpowiednik w C++ jako "z przyrostkiem "c" (stdio.h -> cstdio, string.h -> cstring, stdlib.h -> cstdlib itd... )
komentarz 4 marca 2017 przez Luryxyt Użytkownik (870 p.)
tylko, że w przypadku <cmath> M_PI nie działa, nawet z #define _USE_MATH_DEFINES
komentarz 4 marca 2017 przez manjaro Nałogowiec (37,390 p.)

Jak nie działa jak działa...

tutaj

komentarz 4 marca 2017 przez Luryxyt Użytkownik (870 p.)
komentarz 4 marca 2017 przez mokrowski Mędrzec (156,220 p.)
Żebyś nie myślał że wprowadzam Cię w błąd:

https://msdn.microsoft.com/pl-pl/library/4hwaceh6.aspx
komentarz 4 marca 2017 przez Luryxyt Użytkownik (870 p.)
No wiem. Czytałem. Tylko, że nie definiuje mi zmiennej matematycznej nie wiem czemu. <math.h> działa normalnie.
komentarz 4 marca 2017 przez mokrowski Mędrzec (156,220 p.)
Jak ma Cię to zatrzymywać, zrób tak by działało i idź dalej. Ja nie mam pod ręką żadnego VS teraz aby zrobić diagnostykę. Niemniej jednak rozumiem że jesteś poinformowany jak to ma wyglądać poprawnie.

Spekuluję.. pewnie jakiś nagłówek lub biblioteka (np. math) nie dołączona do projektu..
komentarz 4 marca 2017 przez Luryxyt Użytkownik (870 p.)
Już dawno robię dalej, od kiedy <math.h> działa. Jakbyś się dowiedział o co chodzi z <cmath> to byłbym wdzięczny za informacje. :)
komentarz 4 marca 2017 przez manjaro Nałogowiec (37,390 p.)
Jak coś nie działa to pretensje tylko do Microsoftu ;)

Podobne pytania

0 głosów
1 odpowiedź 330 wizyt
0 głosów
1 odpowiedź 178 wizyt
0 głosów
5 odpowiedzi 281 wizyt
pytanie zadane 27 kwietnia 2019 w C# przez Moras Obywatel (1,620 p.)

92,677 zapytań

141,581 odpowiedzi

320,061 komentarzy

62,039 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...