const char * str;
int kolich = help.size();
double znachen(0.0);
for(size_t i(0); i <= help.size(); i++)
{
str = help[i];
znachen += atof(str) * pow(10.0, kolich);
kolich--;
}
return znachen;
Эта функция принимает вектор типа char и возвращает число. В каждой ячейке вектора хранится одна цифра. Для преобразования из char в double использую функцию atof. Но она в качестве аргумента берет const char*. И тут появляется ошибка и вопрос. Как мой элемент типа char сделать const char*?
Если у вас std::vector<char>
, то надо взять адрес у элемента.
str = &(help[i]);
Этого недостаточно для функции atof, т.к. она на вход получает 0-детерминированную строку.
В вашем случае, если никак нельзя отказаться от std::vector<char>
и очень хочется преобразовать именно char
в число, можно применить не самый оптимальный трюк - преобразовать char
в std::string
for(size_t i = 0, l = help.size(); i < l; ++i)
{
std::string str(1, help[i]);
znachen += atof(str.c_str()) * pow(10.0, kolich);
kolich--;
}
У вас явная нестыковка. Если у вас векторов символов, и они все вместе составляют число типа double
, то вам ответил @Sublihim, но при этом выглядит глупо проход по всем элементам вектора в цикле с использованием pow
и не обработкой точки и т.п.
Если же вы хотите для каждого элемента вектора получить одноциферное число - из '1'
, например, 1
- то просто пишите
int n = help[i] - '0';
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем доброго времени, появилась некоторая необходимость в языке, который я не знаю абсолютноСобственно, по заданию необходимо сделать ввод...
Здравствуйте, прошу подсказкиРаботал с длл с абстрактным интерфейсом, содержащей набор функций для моего приложения
Как изменить действие при ON UPDATE/ON DELETE в MySQL? Вот как выглядит таблица сейчас: