• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z konwersją typów w VS C++, aplikacja okienkowa.

0 głosów
50 wizyt
pytanie zadane 14 kwietnia w C i C++ przez linq Początkujący (420 p.)

Piszę aplikację okienkową w c++, w środowisku Visual Studio 2017 (nie pytajcie dlaczego nie C#, to nie ode mnie zależy). Mam problem z konwersją typu. Do pól tekstowych textlabel1 i textlabel2 wchodzą dwie zmienne, ale zawsze to będą cyfry, nigdy litery ani inne znaki. Więc chcę je przekonwertować na int.

string n = textlabel1->Text->ToString;
string m = textlabel2->Text->ToString;
			

			int nn = std::stoi(n);
			int mm = std::stoi(m);

Kompilator wyrzuca błędy:   „System::String::ToString”: niestandardowa składnia; użyj znaku „&”, aby utworzyć wskaźnik do składowej "

 

Czy ktoś ma pomysł jak to naprawić, żeby zadziałało?  Nie wiem gdzie mam wpisać znak "&". 

2 odpowiedzi

+1 głos
odpowiedź 15 kwietnia przez Hipcio Szeryf (93,960 p.)
wybrane 15 kwietnia przez linq
 
Najlepsza
int nn = Convert::ToInt32(textlabel1->Text);

Mógłbyś użyć stoi gdybyś uzyskał std::string np tak:

#include <msclr\marshal_cppstd.h>

// ... 
std::string stdStr = msclr::interop::marshal_as<std::string>(textlabel1->Text);
int nn = std::stoi(stdStr);
+1 głos
odpowiedź 15 kwietnia przez adrian17 Mędrzec (178,460 p.)

textlabel1->Text->ToString

ToString to metoda, powinieneś ją wywołać.

komentarz 15 kwietnia przez linq Początkujący (420 p.)

Gdy napiszę tak:

textlabel1->Text->ToString()

to wyrzuca wtedy błąd:  E0415    brak odpowiedniego konstruktora do przekonwertowania elementu "System::String ^" na "std::basic_string<char, std::char_traits<char>, std::allocator<char>>" 

1
komentarz 15 kwietnia przez adrian17 Mędrzec (178,460 p.)

Bo ToString() zwraca .NETowy String, nie std::string.

nie pytajcie dlaczego nie C#, to nie ode mnie zależy

Prędzej powinniśmy pytać czemu C++/CLI, bo to ani nie C++, ani C#, a ogólnie do robienia pełnych aplikacji też nie polecany :/

komentarz 15 kwietnia przez linq Początkujący (420 p.)
Tzn. C++/CLI wybrałem już sam świadomie, bo nie mam pojęcia w jaki inny sposób stworzyć aplikację okienkową w c++. Sama aplikacja jakaś rozbudowana nie będzie. Ma pozwalać na wpisanie kilku równań. Później metodą dualnego simplexu muszę znaleźć równanie optymalne, podać wynik i wyrysować wykresy. Czyli sama "aplikacja okienkowa" ogranicza się do podania kilku liczb, kliknięcia ok i wyrzucenia rozwiązania wraz z wykresami. Sam już nie wiem czy może nie lepiej byłoby użyć borland c++ buildera w wersji 6 albo tej nowszej 10.3 RIO (trial na 30 dni). Nigdy nie robiłem gui w c++. Co myślisz?
komentarz 15 kwietnia przez adrian17 Mędrzec (178,460 p.)

Sam już nie wiem czy może nie lepiej byłoby użyć borland c++ buildera w wersji 6 albo tej nowszej 10.3 RIO (trial na 30 dni). Nigdy nie robiłem gui w c++. Co myślisz?

(Prędzej Qt.)

Podobne pytania

0 głosów
1 odpowiedź 321 wizyt
0 głosów
2 odpowiedzi 1,035 wizyt
0 głosów
0 odpowiedzi 88 wizyt
pytanie zadane 23 marca 2017 w C i C++ przez Mikey566 Nowicjusz (120 p.)
Porady nie od parady
Pytania na temat serwisu SPOJ należy zadawać z odpowiednią kategorią dotyczącą tej strony.SPOJ

63,334 zapytań

109,595 odpowiedzi

228,945 komentarzy

44,064 pasjonatów

Przeglądających: 231
Pasjonatów: 10 Gości: 221

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...