Но приводит к неопределенному поведению. На самом деле, это почти никогда не сработает.
я есть следующий код:
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
но, очевидно, это не имеет значения.