является ли статический массив прямым диапазоном?

Это работает:

int[] a = [ 1, 2, 3, 4 ];
fill(a, 5);

, но не работает:

int[4] a = [ 1, 2, 3, 4 ];
fill(a, 5);

, и я получаю эту ошибку:

Ошибка: шаблон std.algorithm.fill (Range, Value) if (isForwardRange! (Range) && is (typeof (range.front = filler))) вместо этого не соответствует объявлению шаблона функции

, я должен сделать это для того, чтобы он работал со статическими массивами:

int[4] a = [ 1, 2, 3, 4 ];
fill(a[], 5);

может ли кто-нибудь объяснить это поведение, пожалуйста?

10
задан Arlen 15 January 2012 в 20:49
поделиться