visual studio 2013: błąd tablica-> too many initializer values.

1

Przy tworzeniu tablicy pojawia mi się błąd jak w temacie. Z góry dziękuję za pomoc

#pragma once

namespace test {

(...)
#pragma endregion
	
    array<int>^tabl={ 1,4,3, };	// podkreślona 4  i komunikat jak w temacie
	 
	
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {


	


		button1->Visible = false;

	}
	};
}

1

Ten przecinek po trójce w tablicy na końcu jest chyba błędem. Poza tym jak pamiętam C++/CLI chyba zamiast samego int, powinno być System::Int32, lub np System::Int16.

1

Raczej tak to powinno wyglądać:

array<int>^ tabl = gcnew array<Int32>{ 1, 4, 3, };

Zakładając, że to jest system::array a nie std::array. Najwyraźniej użyłes jakiegoś using namespace ..., które zaciemnia pytanie i jest zła praktyką.
W alternatywnym przypadku to powinno być:

std::array<int, 3> tabl = { 1, 4, 3, };
0

Akurat wtgrzebałem książkę na powyższy temat i tam deklaracja takiej teblicy wygląda tak:

array <System::Int32>^ tabl={1,2,3};

gcnew w przyadku tablic wykorzytuje sie naturalnie w dynamicznej deklaracji:
tablica jeddnowymarowa typu Single.

array<System::Single>^ tablica=gcnew array<System::Single(n);  //n rozmiar tablicy

Dwuwymiarowa:

array<System::Single,2>^ tablica=gcnew  array<System::Single,2>(n,k);

Żródło - MICROSOFT Visual C++ 2008 Mariusz Owczarek

0

Prawdopdobnie błąd wynika (jak to kolega moderator wcześniej zaznaczy)z użycia w projekcie deklaracji:

using namespace std;

która "gryzie" sie z jakiś powodów z fukcjamli CLI.

0

Najwyraźniej użyłes jakiegoś using namespace ..., które zaciemnia pytanie i jest zła praktyką.

takie przestrzenie nazw visual wygenerował (chyba, ja niczego nie dodawałem) automatycznie:

#pragma once

namespace test {

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

0

Daj to bez przecinka po trójce, bo jakby nie patrzeć normalna tablica to to nie jest tylko wymysł C++/CLI

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.