Visual Studio 2015에서 cmath를 사용할 때 약 200 개의 오류

Marko Galesic

g ++로 컴파일 할 수있는 코드를 VS2015에서 컴파일하려고합니다. 나는 운이 좋지 않은 SO & Google을 둘러 보았지만 cmath는 MSDN에 문서화되어 있습니다. 정말 분명하거나 단순한 것을 놓치고 있다고 생각합니다.

cmath는 컴파일 중에 발생하는 대부분의 오류에 대한 많은 오류를 던지고 있으며 절반은 다음과 같은 형식입니다.

the global scope has no "<function>"

다른 것들은 형태에 있습니다

'<function>': redefinition; different exception specification

'<function>': identifier not found

'<function>': is not a member of "global namespace"

왜 이러한 오류가 발생하는지 이해하지 못하지만 math.h를 사용하면 대부분의 컴파일 오류가 사라집니다 (다른 표준 라이브러리의 일부 오류도 포함됨).

편집 : 요청 된대로 코드. sqrt 및 pow 함수를 사용하고 있습니다.

#include "vector.h"
#include <cmath>

using namespace vectormath;

vector::vector()
{
    this->_x = 0;
    this->_y = 0;
    this->_z = 0;
    this->_length = 0;
}
vector::vector(float x, float y, float z)
{
    this->_x = x;
    this->_y = y;
    this->_z = z;
    this->_length = sqrt(pow(_x, 2) + pow(_y, 2) + pow(_z, 2));
}

vector * vectormath::crossproduct(vector * a, vector * b)
{
    vector * result = new vector();

    result->_x = a->_y * b->_z - a->_z * b->_y;
    result->_y = a->_z * b->_x - a->_x * b->_z;
    result->_z = a->_x * b->_y - a->_y * b->_x;

    return result;
}

point::point()
{
    this->_x = 0.0;
    this->_y = 0.0;
    this->_z = 0.0;
}

point::point(float x, float y, float z)
{
    this->_x = x;
    this->_y = y;
    this->_z = z;
}

float vectormath::dotproduct(vector a, vector b)
{
    return a._x * b._x + a._y * b._y + a._z * b._z;
}

vector * vectormath::add(point * a, vector * b)
{
    vector * c = new vector();

    c->_x = a->_x + b->_x;
    c->_y = a->_y + b->_y;
    c->_z = a->_z + b->_z;

    return c;
}

편집 : 및 vector.h

namespace vectormath
{
    struct vector
    {
        float _x;
        float _y;
        float _z;
        float _length;

        vector();
        vector(float x, float y, float z);
    };

    struct point
    {
        float _x;
        float _y;
        float _z;

        point();
        point(float x, float y, float z);
    };
    vector * crossproduct(vector*, vector*);
    float dotproduct(vector a, vector b);
    vector * add(point * a, vector * b);
}
Gareth McCaughan

차이점

#include <math.h>

#include <cmath>

같은 전자 풋 것들이다 sqrtpow글로벌 네임 스페이스에 (즉, 당신은 단지 말을 그들에게 참조 sqrt또는 pow)와 네임 스페이스로 후자의 풋 그들 std(즉, 당신이 말하는 그들에게 참조 std::sqrt또는 std::pow).

std::항상 접두사 를 붙이지 않으려면 전역 네임 스페이스에 개별 이름을 명시 적으로 넣을 수 있습니다.

using std::sqrt;

또는 (권장되지는 않지만) 다음 std과 같이 전체를 가져올 수 있습니다 .

using namespace std;

그것의 문제는 많은 이름이 std있고 당신은 아마 그들 모두를 정말로 원하지 않을 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Visual Studio 2015에서 Cordova 앱을 배포 할 때 오류 발생

분류에서Dev

Visual Studio에서 테이블보기를 설정할 때 공개 목록 오류

분류에서Dev

Visual Studio / C ++에서 fbx SDK를 사용하여 프로젝트를 빌드 할 때 오류 컴파일

분류에서Dev

Visual Studio 2015에서 Visual Basic 응용 프로그램에 대한 로그인 스크립트를 구현하려고 할 때 오류 발생

분류에서Dev

Visual Studio Code에서 데코레이터를 사용할 때 발생하는 오류

분류에서Dev

awk를 사용하여 CSV 열에서 공백을 제거 할 때 약간의 오류 발생

분류에서Dev

Visual Studio 2019에서 ATL 프로젝트를 컴파일 할 때 propidlbase.idl의 재정의 오류

분류에서Dev

함수에 대한 포인터를 반환하는 함수를 사용할 때 선언되지 않은 식별자 오류 (Visual Studio의 C ++)

분류에서Dev

Visual Studio 코드에서 서버를 실행하려고 할 때 오류 표시

분류에서Dev

Visual Studio 2015에서 Nuget을 사용하여 White 오류 설치

분류에서Dev

Visual Studio 2015의 IISExpress 오류

분류에서Dev

Numba에서 클래스를 사용할 때의 서명 오류

분류에서Dev

TypeScript를 사용한 개발에 Visual Studio Community 2015를 사용할 수 있나요?

분류에서Dev

Visual Studio 2015에서 2017RC로 업그레이드 된 ASP.NET Core 프로젝트는 시작할 때마다 오류를 발생시킵니다.

분류에서Dev

2012 년에 사라진 Visual Studio 2015의 오류

분류에서Dev

CI에서 Visual Studio 실행 작업을 실행할 때 오류

분류에서Dev

CI에서 Visual Studio 실행 작업을 실행할 때 오류

분류에서Dev

내 Word Addin 응용 프로그램에서 Promise를 사용할 때 약속 정의되지 않은 오류가 발생합니다.

분류에서Dev

UIPickerView를 사용할 때 제약 조건 오류

분류에서Dev

dataScroller를 사용하여 동일한 페이지에서 두 개의 dataTable을 사용할 때 오류 발생

분류에서Dev

Visual Studio Code에서 TypeScript를 사용할 때 TS 경고가 오류로 표시되도록 구성하려면 어떻게해야합니까?

분류에서Dev

Visual Studio 2017 및 Boost로 빌드 된 Python에서 사용자 지정 DLL을로드 할 때 종속성 오류

분류에서Dev

Visual Studio Code를 사용할 때 ModuleNotFoundError

분류에서Dev

Visual Studio에서 WCF 서비스에 서비스 참조를 추가 할 때 HRESULT E_FAIL 오류

분류에서Dev

GoogleSearchAPI에서 GwebSearchClient를 사용할 때 Visual Studio 추가 기능의 Exec () 메서드가 트리거되지 않음

분류에서Dev

신경망에 Python의 Keras를 사용할 때 유형 오류

분류에서Dev

Visual Studio 2008을 사용하여 새 WiX 설정 프로젝트를 생성 할 때 오류 발생

분류에서Dev

EF에서 일반 매개 변수에 Equals를 사용할 때 오류 발생

분류에서Dev

.fsx 파일의 오류를 Visual Studio 오류 목록에 추가

Related 관련 기사

  1. 1

    Visual Studio 2015에서 Cordova 앱을 배포 할 때 오류 발생

  2. 2

    Visual Studio에서 테이블보기를 설정할 때 공개 목록 오류

  3. 3

    Visual Studio / C ++에서 fbx SDK를 사용하여 프로젝트를 빌드 할 때 오류 컴파일

  4. 4

    Visual Studio 2015에서 Visual Basic 응용 프로그램에 대한 로그인 스크립트를 구현하려고 할 때 오류 발생

  5. 5

    Visual Studio Code에서 데코레이터를 사용할 때 발생하는 오류

  6. 6

    awk를 사용하여 CSV 열에서 공백을 제거 할 때 약간의 오류 발생

  7. 7

    Visual Studio 2019에서 ATL 프로젝트를 컴파일 할 때 propidlbase.idl의 재정의 오류

  8. 8

    함수에 대한 포인터를 반환하는 함수를 사용할 때 선언되지 않은 식별자 오류 (Visual Studio의 C ++)

  9. 9

    Visual Studio 코드에서 서버를 실행하려고 할 때 오류 표시

  10. 10

    Visual Studio 2015에서 Nuget을 사용하여 White 오류 설치

  11. 11

    Visual Studio 2015의 IISExpress 오류

  12. 12

    Numba에서 클래스를 사용할 때의 서명 오류

  13. 13

    TypeScript를 사용한 개발에 Visual Studio Community 2015를 사용할 수 있나요?

  14. 14

    Visual Studio 2015에서 2017RC로 업그레이드 된 ASP.NET Core 프로젝트는 시작할 때마다 오류를 발생시킵니다.

  15. 15

    2012 년에 사라진 Visual Studio 2015의 오류

  16. 16

    CI에서 Visual Studio 실행 작업을 실행할 때 오류

  17. 17

    CI에서 Visual Studio 실행 작업을 실행할 때 오류

  18. 18

    내 Word Addin 응용 프로그램에서 Promise를 사용할 때 약속 정의되지 않은 오류가 발생합니다.

  19. 19

    UIPickerView를 사용할 때 제약 조건 오류

  20. 20

    dataScroller를 사용하여 동일한 페이지에서 두 개의 dataTable을 사용할 때 오류 발생

  21. 21

    Visual Studio Code에서 TypeScript를 사용할 때 TS 경고가 오류로 표시되도록 구성하려면 어떻게해야합니까?

  22. 22

    Visual Studio 2017 및 Boost로 빌드 된 Python에서 사용자 지정 DLL을로드 할 때 종속성 오류

  23. 23

    Visual Studio Code를 사용할 때 ModuleNotFoundError

  24. 24

    Visual Studio에서 WCF 서비스에 서비스 참조를 추가 할 때 HRESULT E_FAIL 오류

  25. 25

    GoogleSearchAPI에서 GwebSearchClient를 사용할 때 Visual Studio 추가 기능의 Exec () 메서드가 트리거되지 않음

  26. 26

    신경망에 Python의 Keras를 사용할 때 유형 오류

  27. 27

    Visual Studio 2008을 사용하여 새 WiX 설정 프로젝트를 생성 할 때 오류 발생

  28. 28

    EF에서 일반 매개 변수에 Equals를 사용할 때 오류 발생

  29. 29

    .fsx 파일의 오류를 Visual Studio 오류 목록에 추가

뜨겁다태그

보관