1

Тема: Математичні константи

error C2065: 'M_PI' : undeclared identifier
error C2065: 'M_E' : undeclared identifier

#include <iostream>
#define _USE_MATH_DEFINES
#include <cmath>
using namespace std;
int main() {
    cout<<"pi="<<M_PI<<endl;
    cout<<"e="<<M_E<<endl;
    cout<<endl;system("pause"); return 0;
} 

2

Re: Математичні константи

Вміст stdafx.h, будь ласка

3

Re: Математичні константи

// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//

#pragma once

#include "targetver.h"

[!if !CONSOLE_APP]
#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers
[!else]
#include <stdio.h>
#include <tchar.h>
[!endif]
[!if SUPPORT_MFC]
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS      // some CString constructors will be explicit

#ifndef VC_EXTRALEAN
#define VC_EXTRALEAN            // Exclude rarely-used stuff from Windows headers
#endif

#include <afx.h>
#include <afxwin.h>         // MFC core and standard components
[!if !LIB_APP]
#include <afxext.h>         // MFC extensions
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxdtctl.h>           // MFC support for Internet Explorer 4 Common Controls
#endif
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>                     // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT

#include <iostream>
[!endif]
[!endif]
[!if DLL_APP || WIN_APP]
// Windows Header Files:
#include <windows.h>
[!endif]

[!if WIN_APP]
// C RunTime Header Files
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
[!endif]

[!if SUPPORT_ATL]
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS      // some CString constructors will be explicit

#include <atlbase.h>
#include <atlstr.h>
[!endif]

// TODO: reference additional headers your program requires here

4

Re: Математичні константи

Нічого злочинного не бачу. Створіть пустий проект (саме пустий, не консольний!), додайте туди ваш .cpp-файл і спробуйте скомпілювати.
Тут пишуть, що включення ATLComTime.h призводить до таких проблем, але у вас я його не бачу.

5

Re: Математичні константи

Все зробив, як ви казали, але все те саме.

6 Востаннє редагувалося YurkoFlisk (07.06.2015 12:30:25)

Re: Математичні константи

У Visual Studio iostream включає в себе математичну бібліотеку, тому у вашому коді вона включається перед оголошенням _USE_MATH_DEFINES.
Спробуйте визначити _USE_MATH_DEFINES на початку файлу:

#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>

Якщо у вас так запрацює, то #include <cmath> писати не обов'язково

Подякували: koala, mshcherba3