私は次の範囲を持っています:
struct Range {
uint data;
@property{
bool empty() { return false; }
uint front() { return data; }
void popFront() { data = data * 2 + 1; }
}
}
それを使用しようとすると
foreach(c; Rnage()){ /*...*/ }
動作しますが、次のforeach(i, c; Range()){ /*...*/ }
ようになります。
Error: cannot infer argument types
i
のようなものが必要foreach(i, v; [1,2,3,4]){ }
です。