С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 08.01.2015
Сообщений: 67
1

Исправить ошибку: не найден оператор, принимающий левый операнд типа "const sf::Sprite" (SFML)

12.10.2016, 12:19. Показов 1382. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
при компиляции бинарный "<": не найден оператор, принимающий левый операнд типа "const sf::Sprite" (или приемлемое преобразование отсутствует)
Что делать ? помогите
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "user.h"
 
User::User(RenderWindow & window)
{
    image.loadFromFile("image/fishka.png");
    textura.loadFromImage(image);
    User::MyRock.setTexture(textura);
    User::MyRock.setPosition(0, 0);
 
    map <Sprite, int> MyKalah =
    {
        {
            MyRock,6
        }
    };
 
    for (auto it = MyKalah.begin(); it != MyKalah.end(); ++it)
        window.draw((*it).first);
 
 
 
    window.display();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2016, 12:19
Ответы с готовыми решениями:

Исправить ошибку "не найден оператор, принимающий левый операнд типа 'node'"
Ошибка: &quot;бинарный &quot;==&quot;: не найден оператор, принимающий левый операнд типа &quot;node&quot; (или приемлемое...

Исправить ошибку:error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream"
Скажите пожалуйста, как исправить error C2678: бинарный &quot;&gt;&gt;&quot;: не найден оператор, принимающий...

Ошибка: не найден оператор, принимающий левый операнд типа
class Cou { double x; double y; public: static Cou Rand() {... }

Ошибка C2678 бинарный "=": не найден оператор, принимающий левый операнд типа "const Time"
Всем доброе утро, помогите, пожалуйста. Не понимаю в чем дело. Изначально была такая ошибка...

13
Неэпический
18109 / 10696 / 2062
Регистрация: 27.09.2012
Сообщений: 26,939
Записей в блоге: 1
12.10.2016, 12:27 2
Цитата Сообщение от NEW_ID Посмотреть сообщение
Что делать ?
Не использовать спрайт в качестве ключа?
Чего Вы вообще хотели добиться этим?
0
0 / 0 / 1
Регистрация: 08.01.2015
Сообщений: 67
12.10.2016, 12:32  [ТС] 3
Croessmah, ну хотел ,чтобы рисовался спрайт , и значение это сколько раз он будет рисоваться
0
Неэпический
18109 / 10696 / 2062
Регистрация: 27.09.2012
Сообщений: 26,939
Записей в блоге: 1
12.10.2016, 12:33 4
Почему не
C++
1
std::vector<std::pair<Sprite, int>>
???
0
0 / 0 / 1
Регистрация: 08.01.2015
Сообщений: 67
12.10.2016, 12:38  [ТС] 5
Croessmah, как то даже не подумал про это , а так получается как я хотел нельзя?
0
Неэпический
18109 / 10696 / 2062
Регистрация: 27.09.2012
Сообщений: 26,939
Записей в блоге: 1
12.10.2016, 12:42 6
Цитата Сообщение от NEW_ID Посмотреть сообщение
а так получается как я хотел нельзя?
Если только не использовать sf::Sprite в качестве ключа.
Для ключа нужна возможность сравнения на '<',
либо в качестве перегруженного (или нет) оператора,
либо с помощью соответствующего компаратора,
который задается третьим параметром шаблона map.
0
GbaLog-
12.10.2016, 12:46
  #7

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Для ключа нужна возможность сравнения на '<',
Кстати, интересно,
когда-нибудь в STL завезут двумерный вектор без костылей типа
std::vector< std::pair< T, D > > ?

0
Croessmah
12.10.2016, 12:47
  #8

Не по теме:

Цитата Сообщение от GbaLog- Посмотреть сообщение
когда-нибудь в STL завезут двумерный вектор без костылей типа
Зачем?

0
0 / 0 / 1
Регистрация: 08.01.2015
Сообщений: 67
12.10.2016, 12:47  [ТС] 9
Croessmah, спасибо большое за объяснение
0
GbaLog-
12.10.2016, 12:48
  #10

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Зачем?
Ну, часто бывает нужен.
Хотя, возможно, только мне.

0
Croessmah
12.10.2016, 12:50
  #11

Не по теме:

Цитата Сообщение от GbaLog- Посмотреть сообщение
Ну, часто бывает нужен.
Давно бы уже написали свой, если бы был нужен. :)
Нельзя же всё что нужно запихнуть в одну библиотеку.:D

0
GbaLog-
12.10.2016, 12:56
  #12

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Давно бы уже написали свой, если бы был нужен.
Да я написал:
C++
1
2
3
4
5
namespace std
{
    template< typename T, typename D >
    using vector2 = std::vector< std::pair< T, D > >;
};
:D
Только вот обращаться к нему нельзя нормально, только через first и second. Ну и get ещё.

0
sourcerer
12.10.2016, 13:00
  #13

Не по теме:

GbaLog-, класс свой напиши с функциями-членами, какие тебе нужны.

0
GbaLog-
12.10.2016, 13:02     Исправить ошибку: не найден оператор, принимающий левый операнд типа "const sf::Sprite" (SFML)
  #14

Не по теме:

Цитата Сообщение от gru74ik Посмотреть сообщение
класс свой напиши с функциями-членами, какие тебе нужны.
Тогда уж лучше mixin и operator[] туда.

0
12.10.2016, 13:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2016, 13:02
Помогаю со студенческими работами здесь

Не найден оператор, принимающий левый операнд типа std::basic_istream
вот в этом коде в 120 строчке ошибка error C2678: бинарный &quot;!=&quot;: не найден оператор, принимающий...

бинарный "<": не найден оператор, принимающий левый операнд типа "const _Ty" (или приемлемое преобразование отсутствует)
Здравствуйте, пытаюсь добавить элементы в контейнер set, но выходит ошибка, не могу понять в чем...

C2678 бинарный ">>": не найден оператор, принимающий левый операнд типа "std::ostream"
Код: #include &lt;iostream&gt; #include &lt;memory&gt; #include &lt;typeinfo&gt; #include &lt;ctime&gt; #include...

Error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream"
Вот ошибка 1&gt;------ Построение начато: проект: ыпошряоям, Конфигурация: Debug Win32 ------ 1&gt; ...

Error C2678: бинарный "<<": не найден оператор, принимающий левый операнд типа "std::ifstream"
Собственно, текст ошибки приведен в названии темы. Сам код: #include &quot;stdafx.h&quot; #include...

Бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream"
Подскажите, пожалуйста, как решить проблему. Хочу перегрузить оператор ввода, но никак не пойму, в...

error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::basic_istream<_Elem,_Traits>"
Нужно из файла скачать информацию в объект. Почему у меня не получается? #include &lt;vector&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru