Я пишу код, описывающий сложную переменную и действительную переменную.
Я включил заголовочный файл, который, кажется, создает конфликт между файлом .hpp и файлом. cpp.
Они похожи, и я не могу отследить, откуда происходит переопределение.
solver.hpp
#include <iostream>
#include <complex>
class RealVariable
{
public:
std::complex<double>c;
RealVariable(double d);
RealVariable();
};
class ComplexVariable
{
public:
std::complex <double>d;
ComplexVariable(double d1,double d2);
ComplexVariable();
};
решатель . cpp
#include "solver.hpp"
#include <iostream>
#include <complex>
class RealVariable
{
public:
std::complex<double>c;
RealVariable(double d)
{
c.imag(0);
c.real(d);
}
RealVariable(){}
};
class ComplexVariable
{
public:
std::complex <double>d;
ComplexVariable(double d1,double d2)
{
d.imag(d2);
d.real(d1);
}
ComplexVariable(){}
};
На первый взгляд определение в файлах .hpp и. cpp выглядит идентично (по крайней мере мне).
Я получаю эту ошибку в терминале: