Компилятор не видит класс c++

Создан класс triangle. При создании объекта этого класса выдается ошибка unknown type name 'Triangle'.

Это фрагмент 1-го кода:

#include "Triangle.cpp"
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    Triangle A;

Фрагмент 2-го:

#include "Triangle.h"
#include <iostream>
#include <cmath>
using namespace std;

Triangle::Triangle(void){

}

Triangle::Triangle(double a, double b, double c){
    this -> a = a;
    this -> b = b;
    this -> c = c;
}

Triangle::~Triangle(void){

}

Заголовочный файл:

#pragma once

class Triangle
{
    private: 
        double a;
        double b;
        double c;
        double Perimeter;
        double Square;
        double r;
        double R;
    public:
        void setA(double);
        void setB(double);
        void setC(double);
        void setSquare(double);
        void setPerimeter(double);
        void set_r(double);
        void set_R(double);
        double getA();
        double getB();
        double getC();
        void showTriangle();
        void changeA();
        void changeB();
        void changeC();
        double Perimeter();
        double Square();
        double radius_small();
        double radius_big();
        Triangle(void);
        Triangle(double, double, double);
        ~Triangle(void);
};

Ответы (1 шт):

Автор решения: Harry

Реально у вас компилятор ругается на то, что в классе есть одновременно и

    double Perimeter;
    double Square;

и

    double Perimeter();
    double Square();

так что у вас есть и просто член-данные, и функция с одним и тем же именем. Попробуйте начать с исправления этой ошибки, а также не включайте один .cpp-файл в другой (дело не в расширении файла, а в смысле — реализация компилируется отдельно, а потом уже все собирается вместе, в один выполнимый файл).

→ Ссылка