Вы уже объявили 'a' как float
, и компилятор считает, что вы пытаетесь переопределить его как double
. Попробуйте это:
#include <iostream>
using namespace std;
int main()
{
float a = 54;
cout << a;
double b(a);
cout << b;
return 0;
}
Насколько ваш второй вопрос:
Могу ли я преобразовать 2 переменные с различными базовыми типами, например int to
строка? и это так же, как преобразование е.е. удвоить или
отличается?
Ответ заключается в том, что вы не можете преобразовать их неявно или даже напрямую (и заставить их сохранить их значение), но вы, безусловно, можете использовать такие средства, как std::stringstream
и т. Д., Чтобы выполнить преобразование для вас. С другой стороны, преобразование из float
в double
является неявным преобразованием, которое компилятор сделает для вас.