У меня есть класс Sphere, который наследуется от класса Shape (для домашнего проекта):
В Shape у меня есть три конструктора.Объявления из Shape.h выглядят следующим образом:
Shape();
Shape(Vector);
Shape(Vector, float[]);
Внутри Sphere мои конструкторы наследуются от этих конструкторов.В моем файле Sphere.h есть следующие объявления:
Sphere(): Shape() {}//line 17
Sphere(Vector, float): Shape(Vector) {}//line 18
Sphere(Vector, float, float[]): Shape(Vector, float[]) {}//line 19
Мой синтаксис здесь в основном основан на просмотре шаблонов.Хотя моим первым языком был C ++, меня, к сожалению, обучали другим концепциям, таким как наследование, только в Java.
В любом случае при `make 'у меня появляются следующие сообщения об ошибках:
Sphere.h: In constructor ‘Sphere::Sphere(Vector, float)’:
Sphere.h:18: error: expected primary-expression before ‘)’ token
Sphere.h: In constructor ‘Sphere::Sphere(Vector, float, float*)’:
Sphere.h:19: error: expected primary-expression before ‘,’ token
Sphere.h:19: error: expected primary-expression before ‘float’
CanВы помогаете мне понять эти сообщения и что может быть их причиной?Сначала я попытался дать им возможность выразиться типичным способом, то есть вместо
Sphere(): Shape();
, а затем описал сам конструктор в файле .cc, я сделал то, что видел в некоторых онлайн-уроках, бездействительно понимая, почему:
Sphere(): Shape() {}
Это ничего не изменило, проблема осталась.Спасибо за вашу помощь!