Mehrdeutiger Aufruf einer überladenen Funktion - std :: to_string [duplicate]

Diese Frage hat hier bereits eine Antwort:

std :: to_string - mehr als eine Instanz einer überladenen Funktion entspricht der Argumentliste 2 Antworten

Beim Versuch, ganzzahlige Werte in eine Zeichenfolge einzufügen, dachte ich, dass meine Gebete beantwortet wurden, als ich std :: to_string fand, aber aus irgendeinem Grund beschwert sich Visual Studio über Mehrdeutigkeiten, wenn ich tatsächlich versuche, sie zu verwenden. Hier ist die aktuelle Inkarnation meiner Funktion:

string get_time_remaining (int elapsed)
{
    string remaining;
    string temp_string;

    int time_remaining = TimeLimit - elapsed;

    int temp_int;

    temp_int = int(time_remaining / 3600);

    if(temp_int == 0)
        remaining = "00 : ";
    else
    {
        temp_string = std::to_string(temp_int);   // Here!
        remaining = temp_string + " : ";
    }

    temp_int = time_remaining % 60 + 1;

    if(temp_int < 10)
        remaining = remaining + "0";

    temp_string = std::to_string(temp_int);

    remaining = remaining + temp_string;

    return remaining;
}

Ich habe versucht, temp_int innerhalb des Aufrufs von to_string zu setzen, und wie Sie sehen, habe ich sogar versucht, das Ergebnis einer Ganzzahldivision zu setzen, aber egal, was ich tue, VS spuckt mir das aus:

d:\my programs\powerplay\powerplay\powerplay.cpp(1285): error C2668: 'std::to_string' : ambiguous call to overloaded function
1>          d:\microsoft visual studio 10.0\vc\include\string(688): could be 'std::string std::to_string(long double)'
1>          d:\microsoft visual studio 10.0\vc\include\string(680): or       'std::string std::to_string(_ULonglong)'
1>          d:\microsoft visual studio 10.0\vc\include\string(672): or       'std::string std::to_string(_Longlong)'

Jede Hilfe wäre dankbar.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage