Я создаю небольшую библиотеку для нескольких геометрических фигур. Сделав это, я записываю прототипы в файл shapes.h
и методы в файл shapes.cpp
. Это заголовок:неизвестный тип name 'class'
#ifndef __shapeslib
#define __shapeslib
class Shape{
protected:
struct dimensions{
double heigth;
double width;
};
double radius; // for circle class to be inherited
public:
Shape(double heigth, double width); // Constructor
Shape(const Shape & shape); // copy constructor for class
~Shape(); // Destructor
virtual double area(double heigth, double width);
virtual double perimeter(double heigth, double width);
void height();
void width();
double rotate(double heigth, double width);
};
Но при сохранении файла в программном обеспечении Atom, я получаю эти две ошибки на линии class Shape{
unknown type name 'class'
expected ';' after top level declarator
Я прочитал here что мог потому что я компилирую на C, а не на C++. Я искренне не знаю, как этого избежать (еще новичок).
Я также пытался изменить имя файла с .h
до .hpp
и кажется работающим. К сожалению, у меня должен быть заголовочный файл .h
.
Любая обратная связь действительно оценена. Спасибо всем.
Не существует 'class' в C. –
Да, согласитесь. Но этот код предназначен для C++ (или должен быть). –
Если вы компилируете с gcc пытаетесь скомпилировать с g ++. – OutOfBound