sbe*_*eix 4 c++ constructor declaration object
即这应该没问题:
Object obj("param");
Run Code Online (Sandbox Code Playgroud)
但这不应该:
Object("param");
Run Code Online (Sandbox Code Playgroud)
有没有办法防止第二种情况发生?
您可以使用nodiscard类型的属性(使用 C++17 或更高版本)。
struct [[nodiscard]] Object {};
auto main() -> int {
Object{}; // error
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |