visualc++在转换变量时使用不同的基本类型
visual c++ different basics types during converting variables
c++在转换变量时遇到不同的基本类型问题是的,这是个愚蠢的问题,但我是c++和IDK的新手。
我有这个代码:
#include <iostream>
using namespace std;
int main()
{
float a = 54;
cout << a;
double(a);
cout << a;
return 0;
}
这个错误:
- errorC2371:"a":重新定义;不同的基本类型第7行
- 错误C2088:'<lt;':第8类线路违法
为什么它写:不同的基本类型,当我只将float转换为double时?第二个错误是什么意思?什么类行?
我也有一个问题:我能把两个基本类型不同的变量(比如int)转换成字符串吗?它和将f.e.double转换为float相同还是不同?
这是在VC++2010 中调试项目期间的打印屏幕
您已经将"a"声明为float
,编译器认为您正在尝试将其重新声明为double
。试试这个:
#include <iostream>
using namespace std;
int main()
{
float a = 54;
cout << a;
double b(a);
cout << b;
return 0;
}
就你的第二个问题而言:
我可以将两个不同基本类型的变量(如int)转换为一串它与将f.e.double转换为float或不同的
答案是,你不能隐式甚至直接地转换它们(也就是说,让它们保留它们的含义),但你当然可以使用std::stringstream
等工具来为你进行转换。另一方面,从float
到double
的转换是编译器将为您进行的隐式转换。
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- C++中的双指针类型转换
- 逐位操作的隐式类型转换
- 模板中的类型转换
- 在 C++(和 C)中进行类型转换时明显不一致
- 字符类型转换不兼容
- 将复杂的非基元C++数据类型转换为 Erlang/Elixir 格式,以使用 NIF 导出方法
- C++:用户定义的显式类型转换函数错误
- 将类指针类型转换为键时出错
- 通过引用传递参数时C++类型转换
- 在 C++ 中将一个模板类型的对象类型转换为另一个模板类型
- C++显式类型转换(C 样式强制转换)的强制表示法和static_cast的多种解释
- C++无效的函数类型转换
- 在将派生类指针类型转换为派生类指针后,从基类指针调用派生类函数
- 如何将Windows产品类型转换为名称?
- 通过构造函数方法输出的类到类类型转换是 5500 为什么不是 5555
- 事件系统:使用类型转换或联合进行继承
- 如何在参数中定义隐式类型转换的构造函数?
- 类模板实例化中的类型转换