In file included from ../c++/cursesf.h:39:0,
from ../c++/cursesf.cc:35:
../c++/cursesp.h: In member function 'T* NCursesUserPanel<T>::UserData() const':
../c++/cursesp.h:256:43: error: no matching function for call to 'NCursesUserPanel<T>::get_user() const'
return reinterpret_cast<T*>(get_user ());
^
../c++/cursesp.h:80:9: note: candidate: void* NCursesPanel::get_user() <near match>
void *get_user()
^~~~~~~~
../c++/cursesp.h:80:9: note: passing 'const NCursesUserPanel<T>*' as 'this' argument discards qualifiers
In file included from ../c++/cursesw.h:36:0,
from ../c++/cursesp.h:39,
from ../c++/cursesf.h:39,
from ../c++/cursesf.cc:35:
解决办法
- T* UserData (void) const
+ T* UserData (void)
{
return reinterpret_cast<T*>(get_user ());
};
错误提示 discards qualifiers因为 get_user()是非 const的,而UserData()是const成员函数不可以调用非const成员函数