У меня есть следующий код:
glShaderSource(shader, 1, (const char **)data.c_str(), NULL);
Но это приводит к сбою моей программы. Как преобразовать std::string
в const char **
?
Я также пробовал (const char **)&
, но он сказал, что "требует l-значение", которое я не понимаю. Он отлично работает, когда я использую этот код:
const char *data = "some code";
glShaderSource(shader, 1, &data, NULL);
Но я не могу заставить его работать непосредственно с std::string
. Я мог бы выделить для него новый массив char
, но это не хороший код.
Я также пробовал с const GLchar
, но, очевидно, это не имеет значения.