假设我有一个接受 r 值参数的函数,并且我想提供一个默认值,我该如何正确指定它?以下内容适用于 gcc 4.7.0,但适用于 icpc 13.0.1。
struct data {
int _data[10];
data() = default;
data(data&&) = default;
data(const data&) = default;
};
void func(data&& = data{});
icpc抱怨说
error: type name is not allowed
void func(data&& = data{});
^
这个对吗?什么是正确的语法?