原始类型析构函数调用表达式有效性

时间:2017-09-28 15:10:03

标签: c++ templates c++14 destructor

我很惊讶,虽然形式良好:

int main()
{
    using T = int;
    T t;
    (void)t;
    t.~T();
}

不是:

int main()
{
    int t;
    (void)t;
    t.~int();
}

但是,再次形成良好的形式:

int main()
{
    int t;
    (void)t;

    using T = int;
    t.~T();
}

我原以为using声明根本没有任何区别。如果可以进行调用,为什么我不能使用真实的类型名称来编写伪结构调用?标准中的哪个子弹禁止它?

0 个答案:

没有答案