Witam,
szukam rozwiązania jak stworzyć vector, którego typem jest klasa zarządzana. Dodam, że piszę aplikację okienkową w Windows Forms, której string jest reprezentowany String ^ a; Ze względu na to postanowiłem, że w całym programie będę używał system::String. Napisałem prostą klasę:
ref class sala
{
public:
String ^ snumer;
String ^ snazwa;
String ^ srodzaj;
sala(String ^ n, String ^ na, String ^ r)
{
this->snumer = n;
this->snazwa = na;
this->srodzaj = r;
}
~sala() {};
};
Teraz chcę stworzyć wektor, który będzie zawierał listę klas
vector <sala^> pomieszczenie;
Po skompilowaniu całego programu kompilator zwraca następujące informacje:
1>------ Kompilacja rozpoczęta: Projekt: Project1, Konfiguracja: Debug Win32 ------
1>MyForm.cpp
1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.14.26428\include\vector(984): error C3699: “&&”: nie można użyć tego operatora pośredniego na typie “Project1::sala ^”
1>c:\users\adrian\dysk google\uniwersytet opolski studia\informatyka inżynierskie\semestr letni 2018-2019\programowanie 2\lista 4\lista 4 i 5\project1\project1\myform.h(38): note: zobacz odwołanie do klasy klasa szablon; wystąpienie „std::vector<Project1::sala ^,std::allocator<_Ty>>” jest kompilowane
1> with
1> [
1> _Ty=Project1::sala ^
1> ]
1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.14.26428\include\vector(1075): error C3699: “&&”: nie można użyć tego operatora pośredniego na typie “Project1::sala ^”
1>Kompilowanie projektu „Project1.vcxproj” wykonane — NIEPOWODZENIE.
========== Kompilacja: 0 zakończono powodzeniem, 1 zakończono niepowodzeniem, 0 zaktualizowano, 0 pominięto ==========