На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> Почему у меня не получается поместить значение в переменную? , Не могу поместить инстанс класса в переменную...
    Объясните как сделать у меня есть такой пример кода.

    ExpandedWrap disabled
              net::io_context ioc;
              websocket::stream<tcp::socket> ws{ ioc };

    И он работает хорошо.
    Но я хочу эти переменные вынести в статический класс так:
    Memory.h
    ExpandedWrap disabled
      class memory {
      public:
          static net::io_context ioc;
          static websocket::stream<tcp::socket> ws;
      };


    На этой стадии тоже нет ошибок все ок.
    Но когда я пытаюсь задать значение для ws таким способом
    ExpandedWrap disabled
      #include "Memory.h"
      //....
       net::io_context ioc;
       memory::ws = ioc; // или так memory::ws {ioc};


    То получаю ошибку

    Цитата
    Error (active) E0349 no operator "=" matches these operands


    Собственно как блин правильно писать? - я синтаксис не могу понять.
      Выглядит это так, что у websocket::stream<> есть конструктор из net::io_context, но нет аналогичного operator=().
        Блин и что делать? - и как быть?
          Инициализировать конструктором.
          ExpandedWrap disabled
            websocket::stream<tcp::socket> memory::ws = ioc; // или так websocket::stream<tcp::socket> memory::ws {ioc};
          И делать это не в области видимости функции, конечно.
            что означает нет оператора = ?
              Цитата PotterHarry @
              что означает нет оператора = ?
              Такое действие не описано. Предполагается, что открытие сокета будет производиться только конструктором при создании переменной.
              Что разумно, так как описатель сокета не выглядит объектом, который можно безопасно копировать. У него наверняка ещё и нет конструктора копии, и в функции его можно передавать только по ссылке.
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0222 ]   [ 17 queries used ]   [ Generated: 25.04.24, 13:42 GMT ]