「ES 2.0 プログラミング ガイド」というタイトルの一見人気のある本を読んでいます。この本には、三角形を描画するための簡単な ES 2.0 プログラムのサンプル コードがあります。これは、コンパイルの問題を引き起こしているプログラムのスニペットです。
int Init ( ESContext *esContext )
{
UserData *userData = esContext->userData;
//etc... rest of the function
}
コンパイルしようとすると、3 行目でエラー C2440: cannot convert void * to UserData * が表示されます。
プログラムの後半に、関連していると思われるエラーがいくつかあります。
// Load the vertex/fragment shaders
vertexShader = LoadShader ( GL_VERTEX_SHADER, vShaderStr );
fragmentShader = LoadShader ( GL_FRAGMENT_SHADER, fShaderStr );
ここで、コンパイラは vShaderStr と fShaderStr に問題があります: GLbyte * は const char 型の param と互換性がありません *
変換で何が問題になっていますか? esContext->userData で問題が発生するのはなぜですか?
サンプル コードは C で示されています。C++ でコンパイルしようとしていますが、これがどのように影響しているのか正確にはわかりません。
誰でも私にいくつかのガイダンスを与えることができますか? C++ でサポートされていない C コンポーネントはありますか? エラーを作成している何らかの種類の C++ コンポーネントはありますか?
助けてくれてありがとう!完全なサンプル コードは、ここで表示できます。