怎么去掉flexelint对引用类型成员初始化为NULL的warning
如何去掉flexelint对引用类型成员初始化为NULL的warning
一下代码使用工具flexelint分析时,会报出413(null pointerd)warning.
typedef union
{
int int_u;
char char_u[4];
}myUnion;
enum
{
null_c = 0;
};
class myClass
{
public:
myClass();
myUnion & union_m_real;
};
myClass::myClass()
:union_m_real(*(myUnion *)null_c) //此处报warning
{}
int main(int argc, char* argv[])
{
myClass myClass_obj;
return 0;
}
请教一种可以去掉warning的修改代码方法。
要求:不能加全局变量,不能修改构造函数的声明,不能修改flexelint的规则。谢谢!
------解决方案--------------------
编译都通不过!
------解决方案--------------------
编译都通不过,还用flexelint?
------解决方案--------------------
编译通不过
------解决方案--------------------
enum
{
null_c = 0 //不要分号 ...
};
------解决方案--------------------
。。。。用法有問題。。。
------解决方案--------------------
枚举元素使用 , 逗号分割,
末尾不需要分号,
仅在大括号外使用分号就可以了。
------解决方案--------------------
强行制造空引用,极危险的错误行为,没啥好讨论的。
------解决方案--------------------
- v-
------解决方案--------------------
不理解楼主的想法。
一下代码使用工具flexelint分析时,会报出413(null pointerd)warning.
typedef union
{
int int_u;
char char_u[4];
}myUnion;
enum
{
null_c = 0;
};
class myClass
{
public:
myClass();
myUnion & union_m_real;
};
myClass::myClass()
:union_m_real(*(myUnion *)null_c) //此处报warning
{}
int main(int argc, char* argv[])
{
myClass myClass_obj;
return 0;
}
请教一种可以去掉warning的修改代码方法。
要求:不能加全局变量,不能修改构造函数的声明,不能修改flexelint的规则。谢谢!
------解决方案--------------------
编译都通不过!
------解决方案--------------------
编译都通不过,还用flexelint?
------解决方案--------------------
编译通不过
------解决方案--------------------
enum
{
null_c = 0 //不要分号 ...
};
------解决方案--------------------
。。。。用法有問題。。。
------解决方案--------------------
枚举元素使用 , 逗号分割,
末尾不需要分号,
仅在大括号外使用分号就可以了。
------解决方案--------------------
强行制造空引用,极危险的错误行为,没啥好讨论的。
------解决方案--------------------
- v-
------解决方案--------------------
不理解楼主的想法。