decltypeの使用が理解できません。
あるサイトで下記のようなプログラムがあり実行したのですが、エラーをはきました
(下記はc++11)
template <typename T, typename U>
inline auto operator*(const Point<T> &a, U b)
{
return Point<decltype(a.xb)>(a.xb, a.y*b);
}
decltypeは現在のc++では仕様が、かわっているのでしょうか?
また文書理解力の少なさからサイトに書いてあるdecltype情報ではdecltypeがどういった強みがあるのか読み取れなかったのでdecltypeを使うメリットももう少し詳しく教えていただけたらと思います。
どのようなエラーが出ましたか?
opelater×のひきすうがおおすぎるというエラーと
テンプレートのひきすうが少なすぎるというエラーです。コードも書きます
template〈typename t ,typename u〉
struct point{
t x;
t y;
inline auto opelater× (const point〈t〉&a, U b)
{
return point〈decltype(a.x × b)〉(a.x × b, a.y × b)
}
}
「あるサイト」のURLを質問文に追記できますか?
http://yohshiy.blog.fc2.com/blog-entry-334.html
ここの「decltype の活用」かな?
それです!
回答3件
あなたの回答
tips
プレビュー