maarten van damme: > import std.algorithm; > struct Loc { > uint row; > uint col; > } > void main(){ > Loc[] testArray; > Loc a={3,2}; > Loc b={5,3}; > testArray~=a; > testArray~=b; > remove(testArray,a); > } > gives the same error
The second argument of remove() needs to be an index, a size_t. This works: import std.stdio, std.algorithm; struct Loc { uint row, col; } void main() { auto a = Loc(3, 2), b = Loc(5, 3); auto data = [a, b]; writeln(remove(data, 0)); writeln(data); } It prints: [Loc(5, 3)] [Loc(5, 3), Loc(5, 3)] So curiously remove() doesn't work in-place, I think this is a bug or a design bug. Bye, bearophile