谁能告诉我下面的代码有什么问题?

问题描述

class G
{
    public:
    G() { puts("G"); }
    G(const G& g) { puts("copy"); }
}
int main()
{
    G A();
    G B(A);
}

使用 g++ -std=c++11 编译上面的代码将导致 error: no matching function for call to ‘G::G(G (&)())’

但如果我将代码 G A(); 替换为 G A;,则一切正常。

谁能告诉我为什么? G A();G A;

之间有什么区别

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)