Я сталкиваюсь с проблемой базового массива, которая, похоже, не позволяет мне разобраться.
У меня есть класс "StaticDisplayLayer", и конструктор принимает 2 параметра - int и указатель намассив из 3 коротких целых без знака:
//constructor definition:
StaticDisplayLayer(int type, unsigned short *displayColor[3]);
//constructor code:
StaticDisplayLayer::StaticDisplayLayer(int type, unsigned short *dColor[3]) : DisplayLayer(type)
{
displayColor = dColor;
}
Я пытаюсь создать экземпляр этого класса, используя следующее:
unsigned short layerColor[3] = {(unsigned short)255,(unsigned short)255,(unsigned short)255};
StaticDisplayLayer myLayer(1, &layerColor);
Насколько я понимаю, & layerColor является указателем намассив layerColor, но компилятор выдает мне следующую ошибку:
no matching function for call to `StaticDisplayLayer::StaticDisplayLayer(int, short unsigned int (*)[3])'
Candidates are:
StaticDisplayLayer::StaticDisplayLayer(const StaticDisplayLayer&)
StaticDisplayLayer::StaticDisplayLayer(GLenum, short unsigned int**)
Я знаю, что второй кандидат - тот, который я пытаюсь использовать, но, очевидно, я не понимаю концепцию указателя на массив,Если бы кто-то мог пролить некоторый свет на то, как вызывать этот конструктор и / или какие-либо ресурсы, объясняющие это, я был бы признателен - до сих пор мои поиски в Интернете на самом деле не сильно возросли.