我在以下代码中遇到错误
void setStyle(const ctlStyleBase* style)
{
//do something
}
void create(const ctlStyleBase* style = 0)
{
if(style == 0) setStyle(&ctlStyleGradient()); // error : taking address of temporary
else setStyle(style);
}
我不认为这是错误的,因为我只在 setStyle 中使用它,并且在 setStyle 返回之前它不会被破坏。有人可以告诉我代码是否有问题吗?
[编译器 g++ 4.7.2]