Почему класс вне видимости файла?
Есть три файла: Main
#include <iostream>
#include "class.h"
using namespace std;
int main()
{
Triangle test;
return 0;
}
Заголовочный class.h
#pragma once
#include "class.cpp"
class Triangle
{
double a, b, gamma;
public:
void SetSideA(double);
void SetSideB(double);
void SetAngleBetween(double);
void GetData();
};
И файл с определениями class.cpp
#include "class.h"
void Triangle::SetSideA(double x)
{
a = x;
}
void Triangle::SetSideB(double x)
{
b = x;
}
void Triangle::SetAngleBetween(double x)
{
gamma = x;
}
void Triangle::GetData()
{
std::cout << "CLASS TRIANGLE: \n side A = " << a << "\nside B = " << b << "\nAngle between = " << gamma << std::endl << std::endl;
}
В командной при вызове g++ ./main.cpp выводится ошибка
Triangle' was not declared in this scope
В чем проблема? Вроде бы все файлы подключены
Источник: Stack Overflow на русском