Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[VC++] Kopiowanie wartości wskaźnika na vector - błąd C2280

Ostatnio zmodyfikowano 2017-11-09 07:38
Autor Wiadomość
Kinexity
Temat założony przez niniejszego użytkownika
[VC++] Kopiowanie wartości wskaźnika na vector - błąd C2280
» 2017-11-08 22:59:37
Problem wygląda mniej więcej tak (sądzę, że nie potrzeba słów by to opisać):
C/C++
int main() {
    vector < TYP > * vec1, * vec2;
    // jakiś kod
    vec1 = vec2; //blad C2280
    //reszta kodu
}

Błąd C2280 „TYP &TYP::operator =(const TYP &)”: próba odwania do usuniętej funkcji C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\algorithm 2720 1

Byłbym wdzięczny za pomoc.
P-166602
pekfos
» 2017-11-08 23:28:34
Typy elementów std::vector<> musi dać się kopiować przez konstruktor i operator przypisania. Lub nie używaj operacji, które tego wymagają.
P-166604
michal11
» 2017-11-09 07:38:37
Jesteś pewien, ze przypisujesz zwykły wskaźnik do innego wskaźnika? Nie odwołujesz się czasem od jakiegoś elementu vectora?

U mnie taki kod działa (tzn. kompiluje się)
C/C++
class Type
{
    Type( const Type & ) = delete;
    Type & operator =( const Type & ) = delete;
};

int main()
{
    std::vector < Type > * vec1, * vec2;
   
    vec1 = vec2;
   
    return 0;
}

kompilator TDM-GCC 4.9.2
P-166608
« 1 »
  Strona 1 z 1