次の呼び出しと対応する関数を見てください。
long pagenumber = 0;
Node *newNode = createNode();
bufMgr->writePage(pageNumber,(char*)newNode);
writePage は次のように宣言されます。
writePage(long &pageNumber,char* &node)
writePage は長い参照と char* 参照を受け入れます。上記はコンパイルされません。次のエラーが表示されます
no matching function for call to ‘SampleBufferManager::writePage(long int&, char*)’
SampleBufferManager.h:28: note: candidates are: bool SampleBufferManager::writePage(long int&, char*&)
誰でも私を助けてくれますか、これを処理する方法...タイプキャストが問題を解決しており、次のようにするとコードがコンパイルされます:
long pagenumber = 0;
Node *newNode = createNode();
char *test = (char*)newNode;
bufMgr->writePage(pageNumber,test);
問題はどのように解決できますか??