Компилятор не видит класс 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-файл в другой (дело не в расширении файла, а в смысле — реализация компилируется отдельно, а потом уже все собирается вместе, в один выполнимый файл).