함수 템플릿의 인스턴스화에서 템플릿 매개 변수를 추론하는 방법은 무엇입니까?

가장 큰 _prime_is_463035818

클래스 템플릿의 인스턴스화에서 템플릿 매개 변수를 추론하는 방법을 알고 있습니다.

template <typename T>
struct foo {};

template <typename T>
struct foo_param;

template <typename T>
struct foo_param< foo<T> > {
    using type = T;
};

그러나 함수 템플릿에 대해 똑같이하는 데 실패했습니다. 순진한

template <typename T>
void bar() {}

template <auto F>
struct bar_param;

template <typename T>
struct bar_param< &bar<T> > {
    using type = T;
};

실패하다

<source>:21:19: error: template argument '& bar<T>' involves template parameter(s)
   21 | struct bar_param< &bar<T> > {
      |                   ^~~~~~~

나는 오류를 이해한다고 생각하지만 (실제로 내가 이해하지 못했지만 다른 질문에 대한 경우 임) 그것을 피하는 방법을 모르겠습니다. 어떻게 추론 예를 들어, 내가 할 수 int주어진 &bar<int>?

max66

나는 당신이 원하는 것이 가능하다고 생각하지 않습니다.

최소한 bar<T>모든 유형에 대해 유형이 동일하기 때문에 함수 유형을 통과하지 않습니다 void. 인수가없는 반환 함수입니다.

간단한 방법으로 확인할 수 있습니다. static_assert()

static_assert( std::is_same_v<decltype(bar<int>), decltype(bar<long>)> );

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

클래스 템플릿에서 상속되는 템플릿 매개 변수의 기본 템플릿 유형을 확인하는 방법은 무엇입니까?

분류에서Dev

Azure ARM 템플릿-연결된 템플릿의 출력 변수를 매개 변수로 다른 템플릿에 전달하는 방법은 무엇입니까?

분류에서Dev

현재 클래스 템플릿을 다른 템플릿의 템플릿 매개 변수로 사용하는 방법은 무엇입니까?

분류에서Dev

두 개의 템플릿 템플릿 매개 변수로 공유 템플릿 변수를 지정하는 방법은 무엇입니까?

분류에서Dev

std :: bind에서 템플릿 함수 매개 변수를 사용하는 방법은 무엇입니까?

분류에서Dev

기본 템플릿 매개 변수 / 인수를 사용하는 다음 템플릿 함수와의 차이점은 무엇입니까?

분류에서Dev

Meteor의 템플릿 파일에서 URL 매개 변수에 액세스하는 방법은 무엇입니까?

분류에서Dev

템플릿 인수 및 매개 변수 팩과 함께 enable if를 사용하는 방법은 무엇입니까?

분류에서Dev

일반 함수 포인터를 템플릿 매개 변수로 사용하는 방법은 무엇입니까?

분류에서Dev

템플릿 Haskell : 함수의 인수 개수를 추출하는 방법은 무엇입니까?

분류에서Dev

Scala + Play : 템플릿의 경로에 매개 변수를 전달하는 방법은 무엇입니까?

분류에서Dev

템플릿 클래스 내부의 템플릿 반복기, clang은 템플릿 매개 변수를 추론 할 수 없습니다.

분류에서Dev

컴파일러가 템플릿 매개 변수를 추론하도록 돕는 방법은 무엇입니까?

분류에서Dev

템플릿 클래스가 매개 변수 팩을 사용할 때 다른 템플릿 매개 변수를 전달하는 방법은 무엇입니까?

분류에서Dev

C ++ 템플릿, 템플릿 매개 변수를 다른 템플릿 매개 변수에 매핑하는 방법

분류에서Dev

Twig 표현식을 매개 변수로 템플릿에 전달한 다음 템플릿의 컨텍스트로 실행하는 방법은 무엇입니까?

분류에서Dev

"템플릿 템플릿 매개 변수의 템플릿 인수는 클래스 템플릿 또는 유형 별칭 템플릿이어야합니다."

분류에서Dev

Spark 매개 변수를 Dataproc 워크 플로 템플릿에 전달하는 방법은 무엇입니까?

분류에서Dev

std :: function 콜백의 가변 템플릿 매개 변수로 인해 템플릿 인수 추론이 실패하는 이유는 무엇입니까?

분류에서Dev

템플릿으로 전송 된 매개 변수의 유형을 확인하는 방법은 무엇입니까?

분류에서Dev

멤버 함수 템플릿의 인스턴스화를 삭제하는 방법은 무엇입니까?

분류에서Dev

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

분류에서Dev

템플릿 매개 변수를 enum 또는 enum 클래스로 강제하는 방법은 무엇입니까?

분류에서Dev

템플릿 매개 변수 메서드의 반환 유형을 얻는 방법은 무엇입니까?

분류에서Dev

템플릿 클래스의 이름을 템플릿 인수에 전달하는 방법은 무엇입니까?

분류에서Dev

해시 맵에 대한 템플릿 매개 변수를 "무시"하는 방법은 무엇입니까?

분류에서Dev

템플릿 함수가 매개 변수 팩을 사용할 때 다른 템플릿 매개 변수를 전달하는 방법은 무엇입니까?

분류에서Dev

중첩 된 템플릿 매개 변수로 클래스를 작성하는 방법은 무엇입니까?

분류에서Dev

템플릿 함수의 별칭을 지정하고 인스턴스화하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    클래스 템플릿에서 상속되는 템플릿 매개 변수의 기본 템플릿 유형을 확인하는 방법은 무엇입니까?

  2. 2

    Azure ARM 템플릿-연결된 템플릿의 출력 변수를 매개 변수로 다른 템플릿에 전달하는 방법은 무엇입니까?

  3. 3

    현재 클래스 템플릿을 다른 템플릿의 템플릿 매개 변수로 사용하는 방법은 무엇입니까?

  4. 4

    두 개의 템플릿 템플릿 매개 변수로 공유 템플릿 변수를 지정하는 방법은 무엇입니까?

  5. 5

    std :: bind에서 템플릿 함수 매개 변수를 사용하는 방법은 무엇입니까?

  6. 6

    기본 템플릿 매개 변수 / 인수를 사용하는 다음 템플릿 함수와의 차이점은 무엇입니까?

  7. 7

    Meteor의 템플릿 파일에서 URL 매개 변수에 액세스하는 방법은 무엇입니까?

  8. 8

    템플릿 인수 및 매개 변수 팩과 함께 enable if를 사용하는 방법은 무엇입니까?

  9. 9

    일반 함수 포인터를 템플릿 매개 변수로 사용하는 방법은 무엇입니까?

  10. 10

    템플릿 Haskell : 함수의 인수 개수를 추출하는 방법은 무엇입니까?

  11. 11

    Scala + Play : 템플릿의 경로에 매개 변수를 전달하는 방법은 무엇입니까?

  12. 12

    템플릿 클래스 내부의 템플릿 반복기, clang은 템플릿 매개 변수를 추론 할 수 없습니다.

  13. 13

    컴파일러가 템플릿 매개 변수를 추론하도록 돕는 방법은 무엇입니까?

  14. 14

    템플릿 클래스가 매개 변수 팩을 사용할 때 다른 템플릿 매개 변수를 전달하는 방법은 무엇입니까?

  15. 15

    C ++ 템플릿, 템플릿 매개 변수를 다른 템플릿 매개 변수에 매핑하는 방법

  16. 16

    Twig 표현식을 매개 변수로 템플릿에 전달한 다음 템플릿의 컨텍스트로 실행하는 방법은 무엇입니까?

  17. 17

    "템플릿 템플릿 매개 변수의 템플릿 인수는 클래스 템플릿 또는 유형 별칭 템플릿이어야합니다."

  18. 18

    Spark 매개 변수를 Dataproc 워크 플로 템플릿에 전달하는 방법은 무엇입니까?

  19. 19

    std :: function 콜백의 가변 템플릿 매개 변수로 인해 템플릿 인수 추론이 실패하는 이유는 무엇입니까?

  20. 20

    템플릿으로 전송 된 매개 변수의 유형을 확인하는 방법은 무엇입니까?

  21. 21

    멤버 함수 템플릿의 인스턴스화를 삭제하는 방법은 무엇입니까?

  22. 22

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

  23. 23

    템플릿 매개 변수를 enum 또는 enum 클래스로 강제하는 방법은 무엇입니까?

  24. 24

    템플릿 매개 변수 메서드의 반환 유형을 얻는 방법은 무엇입니까?

  25. 25

    템플릿 클래스의 이름을 템플릿 인수에 전달하는 방법은 무엇입니까?

  26. 26

    해시 맵에 대한 템플릿 매개 변수를 "무시"하는 방법은 무엇입니까?

  27. 27

    템플릿 함수가 매개 변수 팩을 사용할 때 다른 템플릿 매개 변수를 전달하는 방법은 무엇입니까?

  28. 28

    중첩 된 템플릿 매개 변수로 클래스를 작성하는 방법은 무엇입니까?

  29. 29

    템플릿 함수의 별칭을 지정하고 인스턴스화하는 방법은 무엇입니까?

뜨겁다태그

보관