2

我每个人都有一个非常简单的问题。以下代码有什么区别?(参见“带括号”和“不带括号”)

class class_a{
    public:

        int a_int;

        class_a(){
           a_int = 0;
        }
}

int main( ... ){

    class_a instance_a_first; // Without Parentheses
    class_a instance_a_second(); // With Parentheses

}
4

1 回答 1

4

第一个定义了一个名为 *instance_a_first* 的变量,类型为 *class_a*。

第二个声明了一个名为 *instance_a_second* 的函数,它返回一个 *class_a* 对象并且不接受任何参数。

这与写作相同:-

int one;

对比

int func();

编辑:将第二句更改为声明而不是定义。

于 2012-09-03T14:32:22.287 回答