私はC++でそのようなテンプレートを持っています
template<typename T, T* P> struct Ptr {};
だから私はそれをそのまま使うことができます:
const int i = 0;
Ptr<int, &i> ptr;
また
Ptr<decltype(i), &i> ptr;
int
しかし、タイプや IDi
を 2 回指定したくありません。
Ptr<&i> ptr;
コンパイラにint
型部分を自分で判断させます。
それを行うためにテンプレートを宣言するにはどうすればよいですか?
私はこの質問を読みましたが、答えはマクロを使用しています。それは良くありません: テンプレート c++ のテンプレート?
マクロなしでテンプレートだけでこれを行うことはできますか? Visual C++ 2013 を使用しています。