'M_PI' was not declared in the scope

0

Chciałem użyć stałej M_PI jednak wyrzuca błąd tka jak w tytule tematu.

 #include <iostream>
#include <math.h>
#include <conio.h>
#include <stdlib.h>

using namespace std;

int main() {
	double stopnie, rad;
	cout << M_PI << endl ;
	cout << "stopnie : ";
	cin >> stopnie;
	rad = stopnie * (M_PI/180.0);
	cout << rad<< endl;
	system("pause");
	return 0;
}
  1. Gdzie tu jest błąd ? Dodam, że #include <cmath> też nie działa.

  2. jak włączyć podpowiedzi w dev++ ? CHodzi o to, gdy np. piszę #inlude <std..( to powinny mi się wyświetlać podpowiedzi, a sie nie wyświetlają ) ?

1

M_PI nie jest częścią biblioteki standardowej C++. C też nie.

Ta stała jest często zdefiniowana, ale jak widać w Twojej implementacji jej albo nie ma, albo trzeba coś dopisać, żeby się pojawiła.

0

Po dodaniu #define _USE_MATH_DEFINES działa.
Na zajęciach działało bez problemu, ale czemu u mnie to nie działa ?

Czy jesteście w stanie mi pomóc z 2 pytaniem ? Czyli jak włączyć 'podpowiedzi' ?

1
kenik napisał(a):

Czy jesteście w stanie mi pomóc z 2 pytaniem ? Czyli jak włączyć 'podpowiedzi' ?

To się nazywa code completion.

Jeśli chcesz małe IDE do C++, lepiej użyj bardziej aktualnego niż Dev C++, np. Code::Blocks.
Nie wiem, czy w Orwell Dev C++ (bardziej aktualny niż przestarzały Dev C++) zrobili code completion na takim poziomie, żeby pomagał w include'ach... Spróbuj: http://orwelldevcpp.blogspot.com/

Jednak jeśli wymagasz więcej od swojego IDE, to skorzystaj z Visual Studio, Eclipse albo NetBeans ;) Tam takie rzeczy powinny być zrobione.

Co do tego M_PI, to również spotkałem się z taką sytuacją (i takim samym rozwiązaniem). Pewnie nagłówek math.h jest zaimplementowany w różny sposób w zależności od środowiska programistycznego - jedno dołącza implementację zgodną ze standardem, inne łamie tą regułę. Tutaj wyjaśniają pod tabelką, że te definicje nie są w bibliotece standardowej i dlatego trzeba tak kombinować: https://msdn.microsoft.com/en-us/library/4hwaceh6.aspx

1

Musisz ten plik *.cpp dodać do projektu. Project/Add files, czy coś w tym stylu. Albo kiedy masz otwarty projekt, to robisz "project/new file" czy coś w tym stylu. Ogólnie wszystko co robisz powinieneś robić przez IDE, a nie gdzieś tam sobie w systemie operacyjnym.

// kiedy wysłałem odpowiedź autor usunął posta

1 użytkowników online, w tym zalogowanych: 0, gości: 1