c ++在转换变量期间遇到不同的基本类型问题 是的,愚蠢的问题,但我是c ++和IDK的新手是什么问题。
我有这段代码:
#include <iostream>
using namespace std;
int main()
{
float a = 54;
cout << a;
double(a);
cout << a;
return 0;
}
和这个错误:
为什么它写了:不同的基本类型,当我只将float转换为double时?这是什么意思第二个错误?什么类行?
我也有这个问题:我可以转换2个不同基本类型的变量f.e. int到string?和转换f.e相同双浮动还是不同?
答案 0 :(得分:0)
您已将'a'声明为float
,编译器认为您正在尝试将其重新声明为double
。试试这个:
#include <iostream>
using namespace std;
int main()
{
float a = 54;
cout << a;
double b(a);
cout << b;
return 0;
}
至于你的第二个问题:
我可以转换具有不同基本类型f.e的2个变量。 int到 串?和转换f.e相同双重浮动或 不同?
答案是你无法隐式或甚至直接转换它们(并保留它们的含义),但你当然可以使用std::stringstream
等设施为你进行转换。另一方面,从float
到double
的转换是编译器将为您执行的隐式转换。