如何定义模板类类型的对象?

oli*_*dev 1 c++

如果我有这个结构:

namespace A
{
    template <Class T>
    struct Point
    {
        Point<T>(T x_, T y_) : x(x_), y(y_) {}

        Point<T>() : x(0), y(0) {}

         T x;
         T y;
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何从Point结构中定义一个对象?

我试过了:

A::Point point;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

sin*_*nek 5

即:

 A::Point<int> point;
 A::Point<int> point(1,1);
Run Code Online (Sandbox Code Playgroud)

但首先修复错误(注意"类"和缺少分号的情况):

namespace A
{
    template <class T>
    struct Point
    {
        Point<T>(T x_, T y_) : x(x_), y(y_) {}

        Point<T>() : x(0), y(0) {}

         T x;
         T y;
    };
}
Run Code Online (Sandbox Code Playgroud)

  • <pedant>不需要命名空间结束后的分号</ pedant> (2认同)