3

以下代码无法使用clang 5.0.0编译(编译标志为-std=c++14 -Wall -Wextra -Werror -pedantic-errors -O0):

struct foo
{
};

int main()
{
    foo f;

    f.~decltype(f)();          // OK
    f.template ~decltype(f)(); // OK

    int i{};

    i.~decltype(i)();          // OK
    i.template ~decltype(i)(); // error: expected unqualified-id
}

template这是一种强制编译带有关键字的伪析构函数调用的方法吗?

4

1 回答 1

4
于 2017-10-21T19:23:26.220 回答