如何以这样的形式创建对象:ifstream in();
How to create an object in a form like this: ifstream in();
我是 C++ 初学者。我已经多次看到对象创建如下:
class_name object_name();
然后你可以引用 object_name 作为 class 的对象。
我如何在 class 中执行此操作?我应该覆盖构造函数吗?以及如何做到这一点?
这行代码可能会触发令人烦恼的(但不是 "the most vexing")解析行为:它不会被解释为变量声明,而是被解释为名为 [=11= 的函数的声明], 不带参数并返回 class_name
.
类型的值
看到它发生在 GodBolt:编译器告诉你:
<source>: In function 'void foo()':
<source>:4:27: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse]
4 | class_name object_name();
|
我是 C++ 初学者。我已经多次看到对象创建如下:
class_name object_name();
然后你可以引用 object_name 作为 class 的对象。 我如何在 class 中执行此操作?我应该覆盖构造函数吗?以及如何做到这一点?
这行代码可能会触发令人烦恼的(但不是 "the most vexing")解析行为:它不会被解释为变量声明,而是被解释为名为 [=11= 的函数的声明], 不带参数并返回 class_name
.
看到它发生在 GodBolt:编译器告诉你:
<source>: In function 'void foo()':
<source>:4:27: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse]
4 | class_name object_name();
|