문제

이것은 나에게 사소한 질문처럼 보입니다. 어쩌면 올바른 문서를 찾지 못했을 것입니다 ..

구조물 A가 있고 매개 변수 B를 반환 유형으로 정의하고 싶습니다.

struct A{
    int operator[](int);
};

그리고 어느 시점에서

decltype(A::operator[]) b = 0;

나는 이것을 할 수있다 : 그러나 그것은 추악하다 ..

A a;
decltype(a[0]) b = 0;

(이중 / int 등이 될 수 있습니다) 템플릿을 사용하고 싶지 않습니다.

감사,

도움이 되었습니까?

해결책

구문을 가지고 노는 것 외에는 필요성을 이해하지 못합니다. 그것이 바로 무엇입니다 autoauto 추가 된 것과 동일한 표준에 의해 지원됩니다 decltype...

어쨌든 기능 호출을 시뮬레이션해야합니다.

decltype(std::declval<A>()[0]) b = 0;   // equivalent to `int b = 0;`
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top