プロジェクトを通じて C++ に慣れようとしていますが、対処方法がよくわからないエラーが発生しました。次のコードがあります。
void myclass::write(std::string str) {
write(filedes, (void *)str.c_str(), str.length());
}
ここで、filedes は myclass のインスタンス変数です。これをコンパイルしようとすると、次のエラーが発生します。
myclass.cpp: In member function ‘void myclass::write(std::string)’:
myclass.cpp:38: error: no matching function for call to ‘myclass::write(int&, void*, size_t)’
myclass.cpp:37: note: candidates are: void myclass::write(std::string)
myclass.hpp:15: note: void myclass::write(std::string, int)
それで、私は何を間違っていますか?メソッドからこの関数呼び出しを合法的に行うことはできませんか?