我有一个类型为
virtual void foo(bla, bla, bla, std::shared_ptr<LoggerInterface> logger) = 0;
我想要传递一个带有空指针的默认参数,类似于:
virtual void foo(bla, bla, bla, std::shared_ptr<LoggerInterface> logger = NULL) = 0;
所以在实现中,如果记录器是 NULL
,我就不做任何操作,否则我会使用该记录器。
我尝试寻找解决方案,但找不到...
更新:重复声明无关紧要,我正在询问默认的NULL参数。
是否可能gcc 4.4不支持nullptr?
nullptr
而不是NULL
。后者是一个宏,很可能是0
,前者才是表示空指针的正确字面量。 - Cory Kramer