Błąd inicjacji pomocniczej tablicy

0

Witam,

Zaczelam bawic sie C++ obiektowym. Chce zrobic w osobnym pliku naglowkowym funkcje, ktora bedzie sobie cos tam liczyla. Do tego celu potrzebuje pomocnicza tablice. I tu pojawia sie program, poniewaz kompilator wywala mi bledy :

namespace PlanningMenager1 {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	public ref class Calandier
	{
	private: System::Int16 jour, mois, an;

			 array<int,1>^ tab_aide = { 1, 2, 3, 4 };
			 


	};
}


 

W momencie inicjacji tej tabicy tab_aide dostaje nastepujace bledy

  • czlonek typu nieklasowalnego wymaga jednego wyrazenia inicjujacego
    -nie mozna konewrtowac int na cli:array <int,1> ^
    -too many values..

Dlaczego to u mnie nie dziala ?
Probowalam rowniez to robic, bez dodawania czesci o namespace... ale tez nie dziala....

0

Wypełnij tablicę w konstruktorze:

array<int>^ tab_aide;

...

Calandier::Calandier()
{
    tab_aide = gcnew array<int> { 1, 2, 3, 4 };
}
0

dla

 array<int>^ tab_aide; 

-globalna lub statyczna zmienna nie moze posiadac typu zarzadzany cli:array ....
a variable with static storage duration cannot have a handle or tracking referance type

dla

tab_aide = gcnew array<int> { 1, 2, 3, 4 };
 

-blad skladniowy, brakuje ; przed =
-blad specyfikatora typu, zalozono ze int. C++ nie obsluguje domyslnie typu int
-ieoczekiwane tokeny poprzedzajace {

  • this declaration has no storage class or type specifier

za to jak wpisze tak :

array<int>^ tab_aide = gcnew array<int> { 1, 2, 3, 4 };
 

to pojawia sie tylko
-globalna lub statyczna zmienna nie moze posiadac typu zarzadzany cli:array <int,1>

Aczkolwiek dalej nie rozumiem dlaczego nie dziala moj sposob, taki znalazlam w ksiazce do VS

0

-globalna lub statyczna zmienna nie moze posiadac typu zarzadzany cli:array ....

To musi być pole w klasie, albo zmienna lokalna w metodzie albo funkcji globalnej.

Nie możesz zadeklarować zmiennej typu zarządzanego (a takim jest cli::array) jako zmiennej globalnej.

0

ale jak sam widzisz to jest pole w klasie :

 
    public ref class Calandier
    {
    private: System::Int16 jour, mois, an;
 
             array<int,1>^ tab_aide = { 1, 2, 3, 4 };
    };

a mimo to nie dziala. w zaden sposob.

Znaczy w jeden sposob dziala.
Jak wrzuce to np do funkcji, ktora znajduje sie w ktorejsc z klas form.. takze zapewne jest cos nie tak z dolaczeniem tego dodatkowego pliku naglowkowego do projektu...

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