相关疑难解决方法(0)

如果我在构造函数中写return语句怎么办?

如果我在构造函数中写return语句怎么办?它符合标准吗?

struct A
{ 
     A() { return; } 
};
Run Code Online (Sandbox Code Playgroud)

上面的代码编译正常,在ideone上没有任何错误.但是以下代码不会:

struct A
{ 
   A() { return 100; } 
};
Run Code Online (Sandbox Code Playgroud)

它在ideone上给出了这个错误:

错误:从构造函数返回一个值

我理解从构造函数返回值根本没有意义,因为它没有明确提到返回类型,并且我们毕竟不能存储返回的值.但我很想知道:

  • 来自C++标准的哪个声明允许第一个例子,但禁止第二个例子?有没有明确的陈述?
  • 是第一个例子中的返回类型void吗?
  • 是否有任何隐式返回类型?

c++ constructor return return-type return-value

44
推荐指数
2
解决办法
5万
查看次数

标签 统计

c++ ×1

constructor ×1

return ×1

return-type ×1

return-value ×1