Remove function?
seany
seany at uni-bonn.de
Wed Dec 4 13:59:44 PST 2013
Hello, I want to remove a car form a string.
hence i used the remove function from std.algorithm, and i had
this :
string stripPar(string S)
{
while(S[0] == '(' && S[S.length-1] == ')')
{
S = S.remove(0);
S = S.remove(S.length-1);
}
return S;
}
(taking help from this:
http://www.digitalmars.com/d/archives/digitalmars/D/learn/std.algorithm.remove_strange_behavior_removing_items_for_the_dynamic_35713.html)
I was having this error:
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(6992):
Error: template std.algorithm.move does not match any function
template declaration. Candidates are:
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(1456):
std.algorithm.move(T)(ref T source, ref T target)
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(1549):
std.algorithm.move(T)(ref T source)
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(1456):
Error: template std.algorithm.move cannot deduce template
function from argument types !()(dchar,dchar)
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(7000):
Error: template std.algorithm.moveAll does not match any function
template declaration. Candidates are:
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(1705):
std.algorithm.moveAll(Range1, Range2)(Range1 src, Range2 tgt)
if (isInputRange!(Range1) && isInputRange!(Range2) &&
is(typeof(move(src.front, tgt.front))))
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(7000):
Error: template std.algorithm.moveAll(Range1, Range2)(Range1 src,
Range2 tgt) if (isInputRange!(Range1) && isInputRange!(Range2) &&
is(typeof(move(src.front, tgt.front)))) cannot deduce template
function from argument types !()(string,string)
flamenco.d(233): Error: template instance
std.algorithm.remove!(cast(SwapStrategy)2, string, int) error
instantiating
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(6992):
Error: template std.algorithm.move does not match any function
template declaration. Candidates are:
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(1456):
std.algorithm.move(T)(ref T source, ref T target)
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(1549):
std.algorithm.move(T)(ref T source)
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(1456):
Error: template std.algorithm.move cannot deduce template
function from argument types !()(dchar,dchar)
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(7000):
Error: template std.algorithm.moveAll does not match any function
template declaration. Candidates are:
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(1705):
std.algorithm.moveAll(Range1, Range2)(Range1 src, Range2 tgt)
if (isInputRange!(Range1) && isInputRange!(Range2) &&
is(typeof(move(src.front, tgt.front))))
/home/apua/Software/dmd/dmd/src/phobos/std/algorithm.d(7000):
Error: template std.algorithm.moveAll(Range1, Range2)(Range1 src,
Range2 tgt) if (isInputRange!(Range1) && isInputRange!(Range2) &&
is(typeof(move(src.front, tgt.front)))) cannot deduce template
function from argument types !()(string,string)
flamenco.d(234): Error: template instance
std.algorithm.remove!(cast(SwapStrategy)2, string, ulong) error
instantiating
So I changed them to
string stripPar(string S)
{
while(S[0] == '(' && S[S.length-1] == ')')
{
S.remove(0);
S.remove(S.length-1);
}
return S;
}
(i.e. not S = S.remove any more)
But I am having the smae error again ..
dmd 2.061 for 64 bit
More information about the Digitalmars-d-learn
mailing list