Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 抑制派生类中的PC Lint警告_C++_Inheritance_Pc Lint - Fatal编程技术网

C++ 抑制派生类中的PC Lint警告

C++ 抑制派生类中的PC Lint警告,c++,inheritance,pc-lint,C++,Inheritance,Pc Lint,我正在使用PC Lint,并且遇到了这个问题。我有如下代码: class A { public: virtual void doSth(int* arg); } class B : A { public: void doSth(int* arg) {...} } 我的一个方法有一个指针参数。这当然让PC Lint对可能的空指针参数感到愤怒(错误613,这在设计上是可以的,我不反对)。然而,我知道在我的程序中,我从不传递空指针。另一方面,我不想在整个方法中完全禁用613个警告

我正在使用PC Lint,并且遇到了这个问题。我有如下代码:

class A {
public:
    virtual void doSth(int* arg);
}

class B : A {
public: 
    void doSth(int* arg) {...}
}
我的一个方法有一个指针参数。这当然让PC Lint对可能的空指针参数感到愤怒(错误613,这在设计上是可以的,我不反对)。然而,我知道在我的程序中,我从不传递空指针。另一方面,我不想在整个方法中完全禁用613个警告,所以我放弃了使用

//lint -efunc(613,*::doSth)
我决定用-esym(613,arg)和+esym(613,arg)包装我的方法


我正在考虑的是,是否有一种更通用的方法使用基类来解决这个问题?如何在virtual doSth()方法中抑制对*arg的警告,使其包含派生类中的所有方法?是否有可能通过PC-LINT?< P>通过指针而不是指针来传递事物?如果不通过NULL考虑在这个特定的情况下改变函数以使用<代码> INT/<代码>,如果<代码> int ARG< /COD>是输入参数,它不应该被指针(或引用)传递,而是通过值传递。如果它是一个输出参数,最好返回。@NeilButterworth,
int*
作为void函数的单个参数是没有意义的,但有时指针是无法避免的。谢谢您的回复。然而,这不是我能够修复它的方式。一般来说,我无法对代码本身进行这种更改。我只需要在PC Lint内解决它:/