Как решить это: «не удается преобразовать параметр 1 из ‘const GLdouble’ в ‘const GLdouble *»?

#c #type-conversion

#c #преобразование типов

Вопрос:

При вызове функции OpenGL у меня возникла следующая ошибка:

ошибка C2664: не удается преобразовать параметр 1 из 'const GLdouble' в 'const GLdouble *'

Это немного странно!!

 const GLdouble someColor = 30.0;
  

Вызывающий:

 glColor3dv(someColor);
  

Любая помощь!

Ответ №1:

glColor3dv принимает указатель на начальный элемент массива из трех GLdouble элементов (по одному для красного, зеленого и синего каналов). Вы передаете ему единственное GLdouble значение by.

Либо вам нужен массив GLdouble s, либо вам нужно использовать одну из других glColor функций (например glColor3d ).