Problem w utworzeniu funkcji

0

Witam Smile

chciałbym z poniższego kodu utworzyć funkcję gdzie jako parametr podawałbym wartość typu string (imie->Text) a funkcja zwracałaby wartość zmiennej_pomocniczej lecz visual wyrzuca mi zbyt wiele błędów gdy ja stworzę takową funkcję...

char zmienna_pomocnicza[30];

for (int i=0; i<imie->Text->Length; i++)
                               
{
        zmienna_pomocnicza[i]=imie->Text[i];
        zmienna_pomocnicza[i+1]=0;
}

proszę o pomoc, z góry thx za odpowiedzi

0

Czyli chcesz przekonwertować String^ na char*? To od razu o to pytaj, a nie kombinuj z funkcjami.
Parę dni temu był na ten temat wątek. Poszukaj.

0

temat konwersji nie jest ważny i rozwiązałem go na kilka sposobów, ważne jest to aby stworzyć funkcję z powyższego kodu :/ niestety za dużo błędów wyskakuje

0

funkcja którą utworzyłem wygląda następująco:

char* zamiana(String ^a)
{

        char zmienna_pomocnicza[30];

                                for (int i=0; i<a->Length; i++)
                                {
                                        zmienna_pomocnicza[i]=a[i];
                                        zmienna_pomocnicza[i+1]=0;
                                }
        return zmienna_pomocnicza;
};

i visual wywala następujące błędy:

Error	5	error LNK2005: "char * __clrcall Projekt::zamiana(class System::String ^)" (?zamiana@Projekt@@$$FYMPADP$AAVString@System@@@Z) already defined in Projekt.obj	dodaj_ucznia.obj	Projekt
Error	6	fatal error LNK1169: one or more multiply defined symbols found	

oraz następujące ostrzeżenia:

Warning	1	warning C4244: '=' : conversion from 'wchar_t' to 'char', possible loss of data
Warning	2	warning C4172: returning address of local variable or temporary	
Warning	3	warning C4244: '=' : conversion from 'wchar_t' to 'char', possible loss of data
Warning	4	warning C4172: returning address of local variable or temporary

co jest nie tak?

proszę o pomoc

0

error LNK2005: "char * __clrcall Projekt::zamiana(class System::String ^)" (?zamiana@Projekt@@$$FYMPADP$AAVString@System@@@Z) already defined in Projekt.obj

taka sama funkcja już istnieje.

warning C4244: '=' : conversion from 'wchar_t' to 'char', possible loss of data
elementy Stringa są typu wchar_t a nie char

warning C4172: returning address of local variable or temporary
zwracasz adres zmiennej lokalnej, ktora przestaje istnieć po wyjściu z funkcji.

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