String 对_字符串的调用不明确-可能吗?

String 对_字符串的调用不明确-可能吗?,string,c++11,operator-overloading,tostring,String,C++11,Operator Overloading,Tostring,这是我的打印操作员: ostream& operator<<(ostream& os, const Card& card) { string str; if(cardValueCorrect(card._value)){ str += to_string(card._value); //////////////////////////////////// } else {

这是我的打印操作员:

ostream& operator<<(ostream& os, const Card& card) {
        string str;
        if(cardValueCorrect(card._value)){
            str += to_string(card._value); ////////////////////////////////////
        } else {
            str += card._identier;
        }
        str += suitToChar(card._suit);
        return os << str;
    }

ostream&operator1-确保包括所有标题:

2-尝试使用命名空间std删除
行,并使用显式std命名空间规范

3-仅出于测试目的,尝试使用显式模板专门化:
std::to_字符串(卡片._值)

你能给我们看更多的代码吗?上面这个带重音的小“a”是什么?试着把“std::”放在“to_string”前面。关于a,不知道,忽略它。我的错误是,添加std::没有改变任何东西,仍然有那个问题。我认为它没有看到to_string的问题(并在其他没有int类型的地方找到它)因为所有的头都是ok的,我只使用了显式的std::to_string等等…但是当我尝试写std::to_string(card._value)时;上面说无法解析to_字符串。您能提供更多信息吗?您正在使用的编译器和平台、编译器标志以及有关代码结构的更多信息。否则,很难说更多。错——可能是std标志。
Card.cpp: In function âstd::ostream& operator<<(std::ostream&, const Card&)â:
Card.cpp:160: error: call of overloaded âto_string(const int&)â is ambiguous
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/basic_string.h:2616: note: candidates are: std::string std::to_string(long double)
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/basic_string.h:2610: note:                 std::string std::to_string(long long unsigned int)
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/basic_string.h:2604: note:                 std::string std::to_string(long long int)