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関数は、by-valueであろうと参照によるものであろうと、どのような目的を持っていますか? – Brian