即这应该没问题:
Object obj("param");
但这不应该:
Object("param");
有没有办法阻止第二种情况发生?
您可以为类型使用
nodiscard
struct [[nodiscard]] Object {}; auto main() -> int { Object{}; // error return 0; }