在C++中是否有一种方法可以在编译时以允许此调用的方式强制执行函数调用:obj.reset().setParam1(10).setParam2(20);但是这个会编译失败:obj.reset().setParam1(10);我想避免在一个函数中设置所有参数,因为要设置的参数太多;所以我更喜欢使用类似于命名参数习语的东西。编辑:替代语法可以是:obj.reset(setParam1(10),setParam2(20));或obj.reset(setParam1(10).setParam2(20)); 最佳答案 由于所需的行为必须在编译