как сделать void func(params int[][2] arr)
От: Аноним  
Дата: 24.06.09 10:02
Оценка:
Функцию func передавать переменное число массивов определенной длины.

При попытке записать такой прототип функции

void func(params int[][2] arr)


компилятор ругается.

Array size cannot be specified in a variable declaration (try initializing with a 'new' expression)

В принципе понятно почему ругается, но как обойти ?
Re: как сделать void func(params int[][2] arr)
От: Пельмешко Россия blog
Дата: 24.06.09 10:13
Оценка:
Здравствуйте, Аноним, Вы писали:
А>компилятор ругается.
А>В принципе понятно почему ругается, но как обойти ?

В принципе? Не пробовали выполнить требования компилятора?
void func(params int[][] arr)
Re: как сделать void func(params int[][2] arr)
От: Zigl Казахстан http://zigl.net
Дата: 24.06.09 10:27
Оценка:
Здравствуйте, Аноним, Вы писали:
А>компилятор ругается.
А>Array size cannot be specified in a variable declaration (try initializing with a 'new' expression)
А>В принципе понятно почему ругается, но как обойти ?

Это же массив массивов и у них впринципе нельзя задать длину сразу всем строкам.
Она задается при создани нового массива у каждой строки:
int[][] jaggedArray = new int[2][];
jaggedArray[0] = new int[4];
jaggedArray[1] = new int[3];
Re: как сделать void func(params int[][2] arr)
От: Ziaw Россия  
Дата: 24.06.09 10:28
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Функцию func передавать переменное число массивов определенной длины.


Никак, IL и C# в частности не умеют делать компайл тайм проверки на длину передаваемых массивов.
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.