分页: 1 / 1

有关pclint测试的问题????????????????

发表于 : 2007-08-07 10:03
jili_baoer
int CApiNet::MenuRead(const char* menu_name, std::vector<struct MENU_INFO>& vec_menu, const int menu_status)
{
int ret_code = DB_OK;

if( menu_name[0] == 0 )
{
ret_code = DB_ERROR;
TRACE("parameter error menu_name[0] == 0\n");
return ret_code;
}

const int old_app = m_AppNo;
try
{

m_AppNo = AP_PUBLIC;

ret_code = Refresh(); //odb_apinet.cpp(420): error 1032: (Error -- Member 'Refresh'
cannot be called without object)



请高手帮帮忙看看这个错误该怎么解决呢!!!!!!!!!!!!!!!!

发表于 : 2007-08-07 21:44
antonym55
错误提示和m_AppNo 是不是private 成员完全不相关

你还是先仔细看清楚错误提示吧,

error 1032: 在 msg.txt 和 pc-lint.pdf 中有介绍, 你有看过手册么??

另外, 光是函数原型就有问题
int CApiNet::MenuRead(const char* menu_name, std::vector<struct MENU_INFO>& vec_menu, const int menu_status)
const int menu_status 有你这么用 const 的么?

如果没有改变 vec_menu的内容建议改成

int CApiNet::MenuRead(const char* menu_name, const std::vector<struct MENU_INFO>& vec_menu, int menu_status)

如果这个函数没有改变类成员,后面也要加个 const 即

int CApiNet::MenuRead(const char* menu_name, const std::vector<struct MENU_INFO>& vec_menu, int menu_status) const

非常感谢!我会记住的。。

发表于 : 2007-08-08 9:01
jili_baoer
不过呢,这程序不时我写的,我还是个小菜鸟,刚开始实习。我们头头把别人的程序给我测的呢。他里面还有好多基于corba,偶对corba一点不熟。而且我使用pclint测试的,有些错,还不能问原程序员,因为用vc编译能够通过,可在我这就这么错,怎么回事啊。。。
我也不是愿意的呢,不过在此 非常感谢高手指点,我相信这对我以后编程也是非常有益的。。

请问下为什么不行 呢?

发表于 : 2007-08-08 11:45
jili_baoer
antonym55
const int menu_status ,不知道错在哪,请指教呢!!!!!!!!!!

解决好了

发表于 : 2007-08-09 11:16
jili_baoer
上面的error 1032已经解决了!!!!!!!!!!