Как исправить ошибки lnk2019, возникающие при использовании любых методов класса из .h при реализации методов в .cpp? [дC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как исправить ошибки lnk2019, возникающие при использовании любых методов класса из .h при реализации методов в .cpp? [д

Сообщение Anonymous »

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

Код: Выделить всё

template class polynomial;
template std::ostream& operator (std::istream& in, polynomial& plnm);
Добавление строк выше не устранило ошибку.

Код: Выделить всё

content .h
#include
#include 
template class polynomial;
template std::ostream& operator (std::istream& in, polynomial& plnm);

template class polynomial
{
public:

P* ptr;
uint64_t deg;
polynomial() :polynomial(0) {};
polynomial(uint64_t size);
~polynomial();
polynomial operator+(const polynomial& other)const;//addition of polynomials
polynomial operator-(const polynomial& other)const;
polynomial operator/(const polynomial& other)const;//binary division of a polynomial by a polynomial
polynomial operator%(const polynomial& other)const;//the remainder of the division of a polynomial by a polynomial
polynomial operator*(const polynomial& other)const;//binary polynomial multiplication
polynomial operator*(const P& other)const; //binary polynomial multiplication by an element from the field

friend std::ostream& operator(std::istream& in, polynomial& plnm); // overloading the input operator

polynomial operator>>(const uint64_t power)const;//coefficient shift (increase). or (plnm*x^n)
polynomial operator a;
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78468970/how-to-fix-lnk2019-errors-that-occur-with-any-methods-of-the-class-from-h-with[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»