Но приводит к неопределенному поведению. На самом деле, это почти никогда не сработает.

я есть следующий код:

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 но, очевидно, это не имеет значения.

Ответы на вопрос(0)

Ваш ответ на вопрос