cannot declare member function ‘static int LabelParse::PrepareForParse(std::__cxx11::string&, std::bitset<200ul>&)’ to have static linkage [-fpermissive] cannot declare member function ‘static int LabelParse::PrepareForParse(std::__cxx11::string&, std::bitset<200ul>&)’ to have static linkage [-fpermissive]cannot declare member function ‘static int LabelParse::PrepareForParse(std::__cxx11::string&, std::bitset<200ul>&)’ to have static linkage [-fpermissive]
时间: 2023-09-16 14:07:42 浏览: 153
这个错误提示说明在类的定义中,尝试将成员函数`PrepareForParse`声明为静态成员函数,但是却指定了静态链接。在C++中,成员函数默认是非静态的,并且具有隐式的this指针,因此不需要显式指定为静态链接。
要解决这个问题,只需要将成员函数`PrepareForParse`声明为普通的非静态成员函数即可。例如:
```cpp
class LabelParse {
public:
int PrepareForParse(std::string& input, std::bitset<200>& bits);
};
```
不需要在声明中加上`static`关键字。这样就可以将`PrepareForParse`作为普通的成员函数使用,可以通过类的对象来调用该函数。
阅读全文