私はremoveInelligibleCharsFromTargetName
と呼ばれる新しい関数を持っています。関数は文字列の単一の文字の比較を許可しません - C++
error C2678: binary '==' : no operator found which takes a left-hand operand of type 'std::string' (or there is no acceptable conversion) 32> c:\program files\microsoft sdks\windows\v6.0a\include\guiddef.h(192): could be 'int operator ==(const GUID &,const GUID &)' while trying to match the argument list '(std::string, char)'
しかし、それを正確に同じネストされたループバック、私はそれを呼び出すところに置く代わりに、関数を呼び出す:
void removeInelligibleCharsFromTargetName(string *targetName)
{
for(int i = 0; i < targetName->length(); i++)
{
for(int j = 0; j < ineligibleChars.length(); j++)
{
if(targetName[i] == ineligibleChars[j])
targetName[i] = '_';
}
}
}
問題は、私がもしループで比較してみたときに、私は次のエラーを取得するです正常に動作します。
誰かがホエイに関数では動作しませんが、関数外ではうまく動作すると伝えることができますか?間違いなくそれがポインタであることについては何かが、私は何を知っているのですか?
私はあなたがバグに気づいたと思います:)。 –
私は本当に知りません。その遅い金曜日の夜は私が持っているすべてです....... ありがとう – discodowney