Я выполняю реализацию BigInt и для одного из моих конструкторов, я должен взять значение int и в основном преобразовать его в строку, а затем взять каждый символ и сохранить его в узле связанного списка.Почему мой to_string() не работает?
My struct Digit Node - это двойной список со значением «char digit». Мой класс BigInt имеет две частные переменные элемента head и tail. (которые являются указателями на DigitNode).
Я получаю эту ошибку: ошибка: вызов перегруженной 'to_string (INT &)' неоднозначен
мой файл заголовков:
#include <iosfwd>
#include <iostream>
#include "bigint.h"
using namespace std;
Мой конструктор:
BigInt::BigInt(int i) // new value equals value of int (also a default ctor)
{
string num = to_string(i);
DigitNode *ptr = new DigitNode;
DigitNode *temp;
ptr->prev = NULL;
this->head = ptr;
if (num[0] == '-' || num[0] == '+') ptr->digit = num[0];
else ptr->digit = num[0] - '0';
for (int i = 1; num[i] != '\0'; i++)
{
ptr->next = new DigitNode;
temp = ptr;
ptr = ptr->next;
ptr->digit = num[i] - '0';
ptr->prev = temp;
}
ptr->next = NULL;
this->tail = ptr;
}
Спасибо для вашей помощи!
Какой компилятор вы используете? MSVC? –
Это ваша собственная реализация 'to_string' или та, которая включена в стандартную библиотеку? –
Im using g ++. И я пытаюсь использовать стандартную реализацию библиотеки. – user3380850