Witam, dopiero zaczynam swoją przygodę z programowaniem i mam już pewien problem. Robię aplikację okienkową Windows Form w Visual Studio 2013 w c++ i chciałem przechowywać pytania, które mają się wyświetlać użytkownikowi w tablicy const char. I tu pojawia się problem, a mianowicie gdy chcę przypisać np. pierwsze pytanie do labela wyskakuje mi błąd pokazujący :
Zamiast
const char* Pytania[133][8]
użyj lepiej tablicy ciągów znaków:
string ^ Pytania[ilość]
albo
System::Collections::Generic::List<System::String^> Pytania;
Cli ma swoje typy “kompatybilne” z kontrolkami i innymi językami .net, np C#. Nie musisz bawić się we wskaźniki.
Po liście, możesz iterować za pomocą pętli for each.
Pamiętaj o ^ - taki “wskaźnik” dotnetowy != od *.
instancje obiektów tworzysz np przez operator gcnew, np:
System::Collections::Generic::List<System::String^>^ lista = gcnew System::Collections::Generic::List<System::String^>();
Ogólnie to polecam przejrzeć msdn, bo takie konstrukcje to norma dla c++cli
Text w labelu jest właśnie typu String.
Jeśli chcesz dalej działać na wskaźnikach *, to label1->Text = gcnew String(tutaj dajesz wskaźnik do char).