【发布时间】:2015-04-20 12:05:37
【问题描述】:
我正在从旧的 gcc(3.x) 切换到 4.9.2,但我遇到了一些编译问题:
if (ROWID_IS_NULL(&pSumItem->getRowId()))
getRowId() 定义为:
rowid_t SumItem::getRowId()
{
return row_id;
}
宏定义为:
#define ROWID_IS_NULL(a) \
((a)->key == 0 && (a)->ip_addr == 0)
新代码已经使用运算符重载来进行计算,但仍然有很多旧代码使用非标准技术。是否可以在不更改代码的情况下解决此问题?
错误信息:
错误:获取临时地址 [-fpermissive]
编辑:不更改代码的含义
我想保持这条线正常工作
if (ROWID_IS_NULL(&pSumItem->getRowId()))
【问题讨论】:
-
好吧,正如错误所暗示的那样(虽然我不会怪你没有那样解释它),
-fpermissive,但这不是代码安全的最佳选择。 -
@chris 谢谢,但我不想使用那个标志
标签: c++