Klasa vector – przechowywanie obiektów klasy string

Klasa vector – przechowywanie obiektów klasy string
Z4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Witam. Chciałbym zadeklarować obiekt klasy vector dla np. 10 obiektów klasy string oraz obiekt klasy array dla 10 obiektów klasy string, a następnie zdefiniować elementy zerowe tych obiektów jakimś łańcuchem i teraz:

Kopiuj
#include "stdafx.h"
#include<iostream>
//#include<cstring>
#include<string>
#include<vector>
#include<array>


int main()
{
const uint8_t stala = 10;
std::vector<std::string>ob1[stala];std:: array<std::string, stala>ob2;
//ob1[0]="23"; //blad, nie wiem czemu
ob2[0] = "mammamija";
std::cout << std::endl<<ob2[0]<<std::endl;
system("pause");
return 0;
}

kod działa tylko dla obiektów klasy array, natomiast dla vector wyrzuca błąd:

Kopiuj
E0349	żaden operator "=" nie pasuje do tych argumentów operacji.

W takim razie jak poprawnie wykonać to zadanie?

XE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 9
2

Deklarując zmienną w ten sposób

Kopiuj
std::vector<std::string>ob1[stala];

powstaje nie vector stringów o wielkości stala, lecz tablica vectorów stringów.
Można utworzyć vector, zmienić jego rozmiar i użyć operatora [].

Kopiuj
std::vector<std::string> tab;
tab.resize(10);
tab[0]="23";
several
  • Rejestracja: dni
  • Ostatnio: dni
3

Chciałbym zadeklarować obiekt klasy vector dla np. 10 obiektów klasy string

Proszz...

Kopiuj
std::vector<std::string> vec(10);
vec[0] = "text";

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.