Перегрузка “=” для контейнера STL

328
09 августа 2017, 20:13

Нужно перегрузить оператор "=" (присваивания для следующих типов данных)

enum Suit { clubs, diamonds, hearts, spades };
vector< Suit > CardSuit[];
Suit su = Suit(1);
CardSuit[0] = su; <-  чтобы работало так????
Answer 1
vector<Suit> CardSuit[]; 

Это что-то странное - вы объявляете CardSuit как массив векторов, так что CardSuit[0] - это вектор, а вы присваиваете ему отдельный элемент.

Чтобы работало так, как вы хотите - нужно сделать CardSuit вектором с уже выделенным как минимум нулевым элементом, типа

vector<Suit> CardSuit(1); 

Или, что разумнее -

vector<Suit> CardSuit; 

и добавлять

CardSuit.push_back(su);
READ ALSO
Статически слинковать zlib и boost

Статически слинковать zlib и boost

Как статически слинковать zlib с boostКомпилировал командой:

283
QTextEdit расширение по контенту

QTextEdit расширение по контенту

Есть QTextEdit с фиксированной ширинойНужно, чтобы при заполнении его текстом он расширялся вверх, однако просто включается скролл бар

300
Открытие слайдера slick в модальном окне

Открытие слайдера slick в модальном окне

Подскажите, допустим есть слайдер slick, выводящий карусель товаров, и при клике на определённом товаре нужно, чтобы выбранный товар открылся...

346
&ldquo;object.source is not a function&rdquo; при использовании Autocomplete

“object.source is not a function” при использовании Autocomplete

Есть массив AutoColorArrayЕсть input с классом AutoColor

295