Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
jaciwob
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 4
#1

Преобразования char в double - C++

06.07.2016, 20:15. Просмотров 249. Ответов 1

Здравствуйте, я использую visual studio 15 и при компиляции следующего кода выводиться ошибка преобразования:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main()
{
    char a = 1;
    double i{ a };
    cout << i;
    return 0;
}
Сама ошибка:
error C2397: conversion from 'char' to 'double' requires a narrowing conversion

Почему нельзя преобразовать char в double? Разве это сужающее преобрзование?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2016, 20:15     Преобразования char в double
Посмотрите здесь:

ошибка преобразования char C++
Функция для преобразования double в строку символов. C++
Преобразование из char в double C++
Почему при преобразования из float в double коверкается число? C++
Из Char в Double C++
C++ char в double
Есть ли какие то стандартные функции преобразования double в string? C++
C++ Перевод из double в char
Преобразования const double в string C++
Реализация double to char* C++
C++ Преобразования с char в string
Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Banonanelly
89 / 21 / 21
Регистрация: 29.06.2016
Сообщений: 96
06.07.2016, 20:30     Преобразования char в double #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Narrowing conversions
list-initialization limits the allowed implicit conversions by prohibiting the following:
- conversion from an integer type to a floating-point type, except where the source is a constant expression whose value can be stored exactly in the target type
источник: http://en.cppreference.com/w/cpp/lan...initialization

Работает так
C++
1
2
const char a = 1;
double i{ a };
или так
C++
1
2
char a = 1;
double i{ static_cast<double>(a) };
Yandex
Объявления
06.07.2016, 20:30     Преобразования char в double
Ответ Создать тему
Опции темы

Текущее время: 23:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru