Monomial.ixx
Код: Выделить всё
export module Polynomial:Monomial;
template class Polynomial;
export template class Monomial
{
public:
Polynomial getPolynomial() const;
};
Код: Выделить всё
export module Polynomial:Polynomial;
import :Monomial;
export template class Polynomial
{
private:
std::map terms;
};
Код: Выделить всё
export module Polynomial:MonomialToPolynomial;
import :Polynomial;
import :Monomial;
template Polynomial Monomial::getPolynomial() const
{
return Polynomial({ { *this, 1.0 } });
}
Код: Выделить всё
export module Polynomial;
export import :Polynomial;
export import :Monomial;
export import :MonomialToPolynomial;
Код: Выделить всё
import Polynomial;
Monomial m = Monomial();
Polynomial p = m.toPolynomial();
Я нашел обходной путь, но не уверен, что он действует. Я пишу Monomial.ixx как:
Код: Выделить всё
module;
template class Polynomial;
export module Polynomial:Monomial;
export template class Monomial
{
public:
Polynomial getPolynomial() const;
};
template Polynomial Monomial::getPolynomial() const
{
return Polynomial({ { *this, 1.0 } });
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... e-fragment
Мобильная версия