我想知道是否有人有同樣的技巧來找到find_me
函數的返回類型,而不改變它的參數。有沒有方法來decltype不可調用函數的結果?
struct Stuck {
Stuck() = delete;
Stuck(Stuck&&) = delete;
Stuck(const Stuck&) = delete;
Stuck& operator=(Stuck&&) = delete;
Stuck& operator=(const Stuck&) = delete;
};
double find_me(Stuck);
int main() {
// This obviously don't work
decltype(find_me(Stuck{})) test1;
}
這是一個鏡頭我想:
template<typename T>
struct ConvertTo {
operator T();
}
int main() {
decltype(find_me(ConvertTo<Stuck>{})) test1;
}
功能find_me
超載很多很多次,從來沒有真正實施。我只想知道當函數具有這些形式時是否有辦法找到返回類型。我知道有可能收到一個指針或引用,這是我已經做的,但我想知道是否還有一些技巧可以使這個工作。
如果有,請告訴我,並告訴我爲什麼。
謝謝。
如果它的過載,沒有。 –
@ T.C。謝謝。然後我會繼續使用參考。 –
這個'find_me'函數可能有什麼用途,不管它是按值還是按引用? – Brian