- 1
- 2
- 3
- 4
- 5
bool ok;
double d;
QLocale c(QLocale::C);
d = c.toDouble( "1234.56", &ok ); // ok == true, d == 1234.56
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+49.8
bool ok;
double d;
QLocale c(QLocale::C);
d = c.toDouble( "1234.56", &ok ); // ok == true, d == 1234.56
Ссылка на bool!
И указатель != ссылка.
double d;
if(c.parseDouble("1234.56", &d))
{
// success
}
else
log("Oh noes!");
исключения это когда на 100% уверен, что файл есть (ну должен же быть!), а его внезапно нету... для этого-то -- вместо того чтобы мудоёбиться с обработкой _редких случаев_, а чтоб тупо оставить обработку "на потом" -- и придумали исключения... но многие этого недопетривают и лепят их везде...
а тут логика подобной функции явно подразумевает, что строка может не содержать неверное значение, и это для программы "нормально" (не исключительный случай)
Использование исключений здесь более, чем уместно. Но так как это куте, их здесь не используют. Куте старая библиотека и они отказались от исключений в пользу переносимости.
хайль исключения везде где попало! больше проблем из ниччего!
Кстати, "чтобы" пишется слитно, без дефиса.
И всё станет на свои места. Всё самодокажется.
a= b = c.toDouble("1234.56") - а передача параметра нужна отнюдь не всегда.
ВНЕЗАПНОЕ решение, да:
так что не катит твой разрыв шаблонов. надо другое имя функции выбрать