У меня есть класс форм, он работает по принципу, что форма состоит из точек (x и y координат). Но перегрузка операторов ввода и вывода я столкнулся с проблемой, которая может служить ошибкой.In file included from main.cpp:1:
./header/figure.h:17:82: warning: friend declaration ‘std::ostream& operator(std::istream & stream, Figure & fig);
| ^
/usr/bin/ld: /tmp/ccVeFfI2.o: в функции «main»:
main.cpp:(.text+0xdb): неопределённая ссылка на «operator(std::istream&, Figure&)»
collect2: error: ld returned 1 exit status
< /code>
figure.h
#pragma once
#include
#include "./dynamicArray.h"
template
class Figure
{
public:
Figure();
Figure(const DArray & points);
Figure(const std::initializer_list & coord);
~Figure() noexcept;
friend std::ostream & operator(std::istream & stream, Figure & fig);
protected:
DArray _points;
std::string _name = "unnamed";
};
#include "../src/figure.cpp"
< /code>
figure.cpp
#include "../header/figure.h"
template
Figure::Figure() :
_points() {}
template
Figure::Figure(const DArray & points) :
_points(points) {}
template
Figure::Figure(const std::initializer_list & coord) :
_points(coord) {}
template
Figure::~Figure() noexcept
{
}
template
std::ostream & operator
Подробнее здесь: https://stackoverflow.com/questions/773 ... -templates
Проблема заключается в том, чтобы писать оператор перегрузки << и >> использование шаблонов ⇐ C++
Программы на C++. Форум разработчиков
1751211871
Anonymous
У меня есть класс форм, он работает по принципу, что форма состоит из точек (x и y координат). Но перегрузка операторов ввода и вывода я столкнулся с проблемой, которая может служить ошибкой.In file included from main.cpp:1:
./header/figure.h:17:82: warning: friend declaration ‘std::ostream& operator(std::istream & stream, Figure & fig);
| ^
/usr/bin/ld: /tmp/ccVeFfI2.o: в функции «main»:
main.cpp:(.text+0xdb): неопределённая ссылка на «operator(std::istream&, Figure&)»
collect2: error: ld returned 1 exit status
< /code>
figure.h
#pragma once
#include
#include "./dynamicArray.h"
template
class Figure
{
public:
Figure();
Figure(const DArray & points);
Figure(const std::initializer_list & coord);
~Figure() noexcept;
friend std::ostream & operator(std::istream & stream, Figure & fig);
protected:
DArray _points;
std::string _name = "unnamed";
};
#include "../src/figure.cpp"
< /code>
figure.cpp
#include "../header/figure.h"
template
Figure::Figure() :
_points() {}
template
Figure::Figure(const DArray & points) :
_points(points) {}
template
Figure::Figure(const std::initializer_list & coord) :
_points(coord) {}
template
Figure::~Figure() noexcept
{
}
template
std::ostream & operator
Подробнее здесь: [url]https://stackoverflow.com/questions/77397753/the-problem-is-writing-operator-overloading-and-using-templates[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия