템플릿 클래스 내에서 친구 사용자 정의 리터럴 연산자를 선언하는 방법은 무엇입니까?

아가

아래 코드가 GCC g ++ 4.7로 컴파일되지 않는 이유는 명확하지 않습니다.

$ g++ -std=c++11 -fPIC test.cpp 
test.cpp:11:45: error: ‘B operator"" _b(const char*, size_t)’ has invalid argument list

클래스 C가 템플릿이 아닌 것으로 선언되면 제대로 컴파일됩니다.

#include <cstddef>
struct B{};

B operator+(B, B) { return B(); }
B operator"" _b(const char *, size_t) { return B(); }

template<typename T>
class C
{
    friend B operator+(B, B);
    friend B operator"" _b(const char *, size_t);
};

int main() { return 0; }

이 코드에 어떤 문제가 있습니까? 아니면 컴파일러 버그입니까?

Columbo

아니면 컴파일러 버그입니까?

연산자 함수의 서명이 표준에 의해 명시 적으로 허용되므로이 코드는 정확합니다. §13.5.8 / 3 참조. 그래서 그것은 GCC- 버그입니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

친구 함수를 사용하여 연산자 == 외부 템플릿 클래스를 오버로드하는 방법은 무엇입니까?

분류에서Dev

템플릿 클래스에서 연산자 오버로딩을 구현하는 방법은 무엇입니까?

분류에서Dev

클래스 템플릿 외부에서 클래스 템플릿의 생성자 템플릿을 정의하는 방법은 무엇입니까?

분류에서Dev

Codeigniter 3.0에서 마스터 템플릿 개념을 사용자 정의하는 방법은 무엇입니까?

분류에서Dev

자신의 구조체에서 템플릿 클래스의 구조체를 사용하는 방법은 무엇입니까?

분류에서Dev

다른 템플릿 클래스의 내부 템플릿 클래스 생성자를 정의하는 방법은 무엇입니까?

분류에서Dev

친구도 클래스를 사용하는 비 템플릿 클래스의 템플릿 친구 클래스

분류에서Dev

플라스크의 템플릿 파일 내에서 python3 사용자 정의 함수를 사용하는 방법은 무엇입니까?

분류에서Dev

템플릿 클래스에 친구 키워드를 사용하는 방법

분류에서Dev

django 클래스 메서드의 데이터를 템플릿에 표시하는 방법은 무엇입니까?

분류에서Dev

사용자 정의 테이블 구성 요소 내에서 하위 템플릿을 사용하여 각 행을 표시하는 방법은 무엇입니까?

분류에서Dev

템플릿 클래스의 멤버 함수에 포인터를 전달하는 방법은 무엇입니까?

분류에서Dev

데이터베이스의 동적 콘텐츠를 TYPO3 사용자 지정 템플릿에 넣는 방법은 무엇입니까?

분류에서Dev

C ++에서 typecast 연산자 템플릿을 정의하는 올바른 방법은 무엇입니까

분류에서Dev

리터럴 연산자를 정상적으로 템플릿화할 수없는 이유는 무엇입니까?

분류에서Dev

템플릿 클래스에서 포인터를 처리하는 방법은 무엇입니까?

분류에서Dev

템플릿 유형에서 정적 멤버 초기화를 적용하는 방법은 무엇입니까? 또는 템플릿 유형에서 파생 된 모든 클래스의 수를 얻는 방법은 무엇입니까?

분류에서Dev

템플릿 인수의 자체 템플릿 인수에 액세스하는 방법은 무엇입니까?

분류에서Dev

사용자 정의 스타일 시트를 페이지 템플릿에 연결하는 방법은 무엇입니까?

분류에서Dev

매크로에서 사용자 정의 리터럴 (UDL)로 문자열 화를 구성하는 방법은 무엇입니까?

분류에서Dev

블레이드 템플릿에서 클래스를 사용하는 방법은 무엇입니까?

분류에서Dev

문자열에서 렌더링 된 Twig 템플릿에서 사용자 지정 Twig 필터를 사용하는 방법은 무엇입니까?

분류에서Dev

내부 클래스 문제를 복사하는 템플릿 클래스의 템플릿 할당 연산자

분류에서Dev

Functor를 클래스 템플릿의 멤버로 사용하는 방법은 무엇입니까?

분류에서Dev

필터가있는 Vue 템플릿에서 삼항 연산자를 사용하는 방법은 무엇입니까?

분류에서Dev

친구 연산자를 인식하지 못하는 템플릿 클래스

분류에서Dev

템플릿을 사용하여 멤버 함수를 선언하는 방법은 무엇입니까? (템플릿 클래스가 아님)

분류에서Dev

재귀 클래스 템플릿을 사용하여 C ++ 11에서 튜플의 내용을 작성하는 방법은 무엇입니까?

분류에서Dev

클래스 기반 뷰를 사용하여 다른 앱의 django에서 템플릿을 렌더링하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    친구 함수를 사용하여 연산자 == 외부 템플릿 클래스를 오버로드하는 방법은 무엇입니까?

  2. 2

    템플릿 클래스에서 연산자 오버로딩을 구현하는 방법은 무엇입니까?

  3. 3

    클래스 템플릿 외부에서 클래스 템플릿의 생성자 템플릿을 정의하는 방법은 무엇입니까?

  4. 4

    Codeigniter 3.0에서 마스터 템플릿 개념을 사용자 정의하는 방법은 무엇입니까?

  5. 5

    자신의 구조체에서 템플릿 클래스의 구조체를 사용하는 방법은 무엇입니까?

  6. 6

    다른 템플릿 클래스의 내부 템플릿 클래스 생성자를 정의하는 방법은 무엇입니까?

  7. 7

    친구도 클래스를 사용하는 비 템플릿 클래스의 템플릿 친구 클래스

  8. 8

    플라스크의 템플릿 파일 내에서 python3 사용자 정의 함수를 사용하는 방법은 무엇입니까?

  9. 9

    템플릿 클래스에 친구 키워드를 사용하는 방법

  10. 10

    django 클래스 메서드의 데이터를 템플릿에 표시하는 방법은 무엇입니까?

  11. 11

    사용자 정의 테이블 구성 요소 내에서 하위 템플릿을 사용하여 각 행을 표시하는 방법은 무엇입니까?

  12. 12

    템플릿 클래스의 멤버 함수에 포인터를 전달하는 방법은 무엇입니까?

  13. 13

    데이터베이스의 동적 콘텐츠를 TYPO3 사용자 지정 템플릿에 넣는 방법은 무엇입니까?

  14. 14

    C ++에서 typecast 연산자 템플릿을 정의하는 올바른 방법은 무엇입니까

  15. 15

    리터럴 연산자를 정상적으로 템플릿화할 수없는 이유는 무엇입니까?

  16. 16

    템플릿 클래스에서 포인터를 처리하는 방법은 무엇입니까?

  17. 17

    템플릿 유형에서 정적 멤버 초기화를 적용하는 방법은 무엇입니까? 또는 템플릿 유형에서 파생 된 모든 클래스의 수를 얻는 방법은 무엇입니까?

  18. 18

    템플릿 인수의 자체 템플릿 인수에 액세스하는 방법은 무엇입니까?

  19. 19

    사용자 정의 스타일 시트를 페이지 템플릿에 연결하는 방법은 무엇입니까?

  20. 20

    매크로에서 사용자 정의 리터럴 (UDL)로 문자열 화를 구성하는 방법은 무엇입니까?

  21. 21

    블레이드 템플릿에서 클래스를 사용하는 방법은 무엇입니까?

  22. 22

    문자열에서 렌더링 된 Twig 템플릿에서 사용자 지정 Twig 필터를 사용하는 방법은 무엇입니까?

  23. 23

    내부 클래스 문제를 복사하는 템플릿 클래스의 템플릿 할당 연산자

  24. 24

    Functor를 클래스 템플릿의 멤버로 사용하는 방법은 무엇입니까?

  25. 25

    필터가있는 Vue 템플릿에서 삼항 연산자를 사용하는 방법은 무엇입니까?

  26. 26

    친구 연산자를 인식하지 못하는 템플릿 클래스

  27. 27

    템플릿을 사용하여 멤버 함수를 선언하는 방법은 무엇입니까? (템플릿 클래스가 아님)

  28. 28

    재귀 클래스 템플릿을 사용하여 C ++ 11에서 튜플의 내용을 작성하는 방법은 무엇입니까?

  29. 29

    클래스 기반 뷰를 사용하여 다른 앱의 django에서 템플릿을 렌더링하는 방법은 무엇입니까?

뜨겁다태그

보관