Я реализовал класс полиномов (и матриц). Работоспособность всех методов я проверил в отдельном проекте-песочнице. После этого я разделил класс на 2 файла. .h и .cpp. Я попробовал использовать методы класса и оказалось, что ошибка lnk2019 возникает в каждом из них. Ранее мне удалось решить подобную ошибку, добавив перед описанием класса (внутри .h) строки:
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]
Я реализовал класс полиномов (и матриц). Работоспособность всех методов я проверил в отдельном проекте-песочнице. После этого я разделил класс на 2 файла. .h и .cpp. Я попробовал использовать методы класса и оказалось, что ошибка lnk2019 возникает в каждом из них. Ранее мне удалось решить подобную ошибку, добавив перед описанием класса (внутри .h) строки: [code]template class polynomial; template std::ostream& operator (std::istream& in, polynomial& plnm); [/code] Добавление строк выше не устранило ошибку. [code]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
У меня возникла проблема при связывании процедуры umat(), написанной на C++. Я использую Windows 10, Abaqus 2022 и сообщество Microsoft Visual Studio 2022 (компилятор cl версии 19.36.32537 для x64). Компиляция завершается нормально, но компоновщик...
Привет, я новичок в stackoverflow, а также в модульном тестировании с использованием gtest и fff, при создании тестового файла (test_dummy.cc) появляется ошибка связывания
примечание (этот проект создается с помощью CMakeLists.txt и Microsoft Visual...
Привет, я новичок в stackoverflow, а также в модульном тестировании с использованием gtest и fff, при создании тестового файла (test_dummy.cc) появляется ошибка связывания
примечание (этот проект создается с помощью CMakeLists.txt и Microsoft Visual...