• 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
56 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 (98,160 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 (194,600 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 (194,600 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 (194,600 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ź 336 wizyt
0 głosów
2 odpowiedzi 1,045 wizyt
0 głosów
0 odpowiedzi 62 wizyt
pytanie zadane 27 maja w C i C++ przez MegaaSoft Obywatel (1,420 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

65,755 zapytań

112,393 odpowiedzi

237,319 komentarzy

46,700 pasjonatów

Przeglądających: 117
Pasjonatów: 0 Gości: 117

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.

...