我有以下代码:
glShaderSource(shader, 1, (const char **)data.c_str(), NULL);
Run Code Online (Sandbox Code Playgroud)
但这会让我的程序崩溃.我怎么转换std::string成const char **?我也试过, (const char **)&但它说"需要l值",我不明白.我使用这段代码时工作正常:
const char *data = "some code";
glShaderSource(shader, 1, &data, NULL);
Run Code Online (Sandbox Code Playgroud)
但我不能直接从一个工作std::string.我可以char为它分配一个新数组,但这不是很好的代码.
我也尝试过,const GLchar但显然它没有任何区别.