error: extra qualification ‘SampleProcess::’ on member ‘frameprocess’ [-fpermissive] void SampleProcess::frameprocess(void *frameparam);
时间: 2024-02-05 13:04:22 浏览: 138
这个错误提示是因为在类的定义中,成员函数前面多了一个类名作为限定符。这种限定符通常用于类的嵌套定义,但对于成员函数来说是多余的。
要解决这个错误,可以将成员函数定义中的类名限定符去掉,只保留函数名和参数列表即可。例如:
```
void frameprocess(void *frameparam);
```
如果这个成员函数在类的定义之外实现,那么在实现部分也需要去掉类名限定符。例如:
```
void SampleProcess::frameprocess(void *frameparam)
{
// 函数实现部分
}
```
应该改为:
```
void SampleProcess::frameprocess(void *frameparam)
{
// 函数实现部分
}
```
这样就可以消除这个错误了。
相关问题
error: extra qualification 'MessageAlert::' on member 'ShowAlertMessage' [-fpermissive] void MessageAlert::ShowAlertMessage(const QString& strWidgetName, const int iLeft, const int iTop ^~~~~~~~~~~~
这个错误是因为在类的定义之外,函数的实现中使用了类的限定符号。可以将函数实现中的类限定符号去掉,只保留函数名和参数列表即可。例如,将函数实现中的 "MessageAlert::" 去掉,变成 "void ShowAlertMessage(const QString& strWidgetName, const int iLeft, const int iTop)"。
error: extra qualification 'CustomTreeView::' on member 'compare' [-fpermissive] static bool CustomTreeView::compare(const C_Member& objMemberOne, const C_Member& objMemberTwo);
这个错误是因为在静态成员函数的定义中,多了一个类作用域限定符(CustomTreeView::),这在成员函数的定义中是不允许的。在静态成员函数的定义中,只需要写函数名和参数列表即可。
正确的定义方式应该是:
```
bool CustomTreeView::compare(const C_Member& objMemberOne, const C_Member& objMemberTwo) {
// 函数体
}
```
去掉冒号后再编译即可。
阅读全文