0
#include <vector>
class A
{
std::vector<int> vec;
void swap(A & other) noexcept(noexcept(vec.swap(other.vec)))
{
vec.swap(other.vec);
}
};
int main()
{
}
此代码在clang(3.4)下编译,但不在gcc(4.7.1)下编译。任何人都可以告诉我我做错了什么?如何声明noexcept如果只有一个属性的成员函数是noexcept?
编辑
gcc的错误消息是:
error: invalid use of incomplete type ‘class A’
error: forward declaration of ‘class A’
错误信息是否存在? – hivert
@hivert在这里你去 – qdii