Dassault
Mircy #cpp #visualstudio #naukaprogramowania Ktoś ma pomysł dlaczego nie działa mi stała MPI w VS 2015?

MPI is undefined elo 650;

Mam podpięte:

#include

#include

#include
  • Najlepsze
  • Wszystkie komentarze
RRybak
@Dassault:

#define _USE_MATH_DEFINES
#include
KrzaQ2
@Dassault: No spoko, jest. Ale widzisz jak to czasem działa. Nie łatwiej wpisać constexpr static double pi = 3.1415926535; i korzystać z tego, zamiast z makra jak człowiek pierwotny w jaskini w 1990 r.?
KrzaQ2
@Dassault: Nie wiem, moƶe korzystasz ze stringów?
meh0wski
include


@Dassault: a spróbuj #include
Dassault
Dassault Autor
0
@meh0wski: Próbowałem to samo. W zasadzie to program powinien działać i bez #include ale już na początku mi wyrzucał to samo gdy próbowałem coutować jakiegoś stringa.
Dassault
Dassault Autor
0
@RRybak: Wywaliło dodatkowo drugi błąd: undeclared identifier.
Poza tym powinno działać na zwykłym math.h, jakieś pomysły co jest nie tak z VS?
KrzaQ2
@Dassault: M_PI nie jest zdefiniowane w standardzie.
Dassault
Dassault Autor
0
@KrzaQ2: Co masz na myśli? Kod działa w innych IDE używając tylko: #include oraz
#include .
KrzaQ2
@Dassault: Mam na myśli to, ƶe standard C++ nie zna czegoś takiego jak M_PI i uƶywając tego zdajesz się na łaskę dostawców niestandardowych rozszerzeń.
Dassault
Dassault Autor
0
@KrzaQ2: No ale czy nie od tego jest podpinanie bibliotek?
Dassault
Dassault Autor
0
@KrzaQ2: Ale to totalnie nie rozwiązuje mojego problemu którym jest bardziej Visual Studio niż c++.
I chciałbym się też dowiedzieć dlaczego muszę podpinać bibliotekę string, a najlepiej co z tym cholerstwem zrobić żeby mi nie wyrzucało ciągle błędów.
Dassault
Dassault Autor
0
@KrzaQ2: Dobra, może nie do końca kumam działanie bibliotek. Jak to jest że ta sama biblioteka działa różnie na dwóch IDE?
KrzaQ2
@Dassault: Biblioteka nie ma nic do IDE. Na róƶnych kompilatorach moƶe działać róƶnie ze względu na róƶnice w implementacji. Im bardziej ogólnikowo pytasz tym cięƶej odpowiedzieć.
Dassault
Dassault Autor
0
@KrzaQ2: Czemu gdy w Code Blocksie podepnę math.h to działa mi zarówno np. pow() i M_PI, a w VS działa tylko pow()? Skoro biblioteka jest ta sama to i nazwy w niej powinny być takie same.
KrzaQ2
@Dassault: Przecieƶ napisałem, ƶe M_PI jest NIESTANDARDOWYM ROZSZERZENIEM. To znaczy, ƶe nie ma go w standardzie.

Poza tym, Code Blocks i VS to IDE, mylisz je z kompilatorami. W C::B jak najbardziej moƶna kompilować w VC++, a w VS w clangu.
Dassault
Dassault Autor
0
@KrzaQ2: Okej, dzięki. Dopiero po tym zrozumiałem: http://cpp0x.pl/dokumentacja/standard-C/Stale-matematyczne/28
Miałem za małą po obiektowym c++ Zelenta gdzie on po prostu używał stałych bez definiowania.
KrzaQ2
@Dassault: No spoko, to teraz looknij wyƶej co napisałem o makrach vs. normalnych stałych w C++ :) (przypominam, ƶe mamy juƶ Rok Pański 2016.)
Dassault
Dassault Autor
0
@KrzaQ2: Możesz laikowi wytłumaczyć dlaczego lepiej definiować stałe samemu? Chodzi tylko o zużycie zasobów?
KrzaQ2
@Dassault: Nie lepiej. Ale jak nie masz, to zamiast bawić się w makra, uƶyj stałych w stylu C++.