Tam Andrei Alexandrescu'nun std.algorithm (http://www.digitalmars.com/d/2.0/phobos/std_algorithm.html) yazısını çevirmeye başlıyordum ki dakika bir gol 1 hata aldım :)
import std.cstream;
import std.stdio;
import std.algorithm;
import std.range;
void main ()
{
int[] dizi1 = [ 1, 2, 3, 4 ];
int[] dizi2 = [ 5, 6 ];
auto kareler = map! ("a * a") (chain (dizi1, dizi2));
assert(equal(kareler, [ 1, 4, 9, 16, 25, 36 ])); // <= bu kısımda derleyici hata veriyor
}
Tam map işlevi işini yapıp assert'le yeni oluşturulan dizinin içine elemanları gerçekten istediğimiz gibi yerleştirip yerleştirmediğini kıyaslayacağı sırada hata veriyor. Aldığım hata mesajı şu şekilde:
Alıntı:
>merhaba.d(14): Error: template std.algorithm.equal(alias pred = "a == b",Range1,Range2) if (isInputRange!(Range1) && isInputRange!(Range2) && is(typeof(binaryFun!(pred)(Range1.init.front,Range2.init.front)))) does not match any function template declaration
merhaba.d(14): Error: template std.algorithm.equal(alias pred = "a == b",Range1,Range2) if (isInputRange!(Range1) && isInputRange!(Range2) && is(typeof(binaryFun!(pred)(Range1.init.front,Range2.init.front)))) cannot deduce template function from argument types !()(Map!(result,ChainImpl!(int[],int[])),int[6u])
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]