std::string na system::string^ błąd

0

witam, mam spory problem... potrzebuje przekonwertować jak w temacie std::string na system::string^. znalazłem nawet sporo tematów jak do tego dojść i powiedzmy, że mi się udało skompilować program bez błędów. niestety jak skorzystam z funkcji, która już to realizuje, dostaje dużego errora: ** _BLOCK_TYPE_IS_VALID(phead->nBlockUse) - assertion faliure** i nie wiem jak już tego się pozbyć...

funkcja, która u mnie się tym bawi wygląda następująco:

 void wyswietl(graf obiekt)
	{
		int i, j;
		
		string str;
		
		
		for(i = 0; i < obiekt.size; ++i)
		{
			this->textBox3->AppendText("\n");
			for(j = 0 ; j < obiekt.size; ++j)
			{
				ostringstream ss;
				ss << obiekt.best[i][j];
				str = ss.str();

				String ^out2 = gcnew String(str.c_str());
				 this->textBox3->AppendText(out2);
				 this->textBox3->AppendText("    ");
			}
		}
	}

wiem, że nie jest to piękny kod, ale potrzebuje to zrobić. na forum mieliście jakieś tematy o konwersji, które znalazłem przy pomocy "Szukaj". nie wiem czemu jednak linki .... nie działały czy coś... jak wchodziłem na nie.. to nie pojawiały mi się żadne tematy...
jeżeli wiecie jak zrobić to, aby zadziało (znaczy konwersja), to podzielcie się wiedzą.

0

Nie chcę mi się póki co wgłębiać w tek "kod" ale po co to konwenterować ?? Nie możesz od razu zapisać do String^.
Do czego to jest Ci potrzebne?

0

Jaki to język?

0

C++/CLI

0
String ^out2 = gcnew String(str.c_str());

konwertujesz dobrze. błąd jest w czymś innym.

0

dotarłem do błędu... powiedzmy... destruktor, który miałem zadeklarowany powodował błędy. dokładnie nie wnikałem jaki błąd, bo zależy mi na czasie. poza tym w c++ chyba istnieje jakiś domyślny destruktor, wiec usunąłem po prostu swój.

0
radical_edo napisał(a)

dotarłem do błędu... powiedzmy... destruktor, który miałem zadeklarowany powodował błędy. dokładnie nie wnikałem jaki błąd, bo zależy mi na czasie. poza tym w c++ chyba istnieje jakiś domyślny destruktor, wiec usunąłem po prostu swój.

Czy ty wiesz, że pytasz o c++/cli, a nie c++?

0

Microsoft stara się zaciemniać sprawę i reklamuje to po prostu jako C++.

0

Microsoft napisał dobre IDE do C++. Można w nim bez problemu włączyć tryb CLI i dzięki temu uzyska się dostęp do wielu ułatwiających życie klas .NETowych. A nierozróżnianie jednego od drugiego to już nie wina Microsoftu...

0

no dobra, to powiedzmy, ze nie wiem, ze to dwie osobe sprawy... choc z drugiej strony piszecie c++/cli, czyli jednak wykorzystuje to c++ a w cli tworzone sa okienka. to ja juz sie gubie... jaka jest ta roznica?

prawda taka, ze najpierw pisalem w czsytym c++, potem nagle sie okazalo, ze trzeba "upiekszyc" program, niestety nie chcialo mi sie do tej pory obcykac qt, a .net byl pod reka... no to rzucilem sie na to (mialem jeszcze lekka stycznosc z tym... ale nic powaznego i bardziej pod c#)

1 użytkowników online, w tym zalogowanych: 0, gości: 1