我經歷了題爲看似通俗讀物分享esContext「ES 2.0編程指南」。在本書中,有一個用於繪製三角形的簡單ES 2.0程序的示例代碼。這是給我編的問題程序的一個片段:的OpenGL ES 2.0的C++
int Init (ESContext *esContext)
{
UserData *userData = esContext->userData;
//etc... rest of the function
}
當我嘗試編譯,3號線在這裏給出了一個錯誤C2440:不能轉換void *的到的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++組件正在創建錯誤?
感謝您的幫助!完整的示例代碼是可查看的here
你有一個轉換」:不能從轉換‘類型1’到‘2型’。看看這個鏈接:http://msdn.microsoft.com/en-us/library/sy5tsf8z(v=vs.100).aspx –