C++ 错误: invalid conversion from 'int*' to 'int' 解释与解决方案
这个错误是由于将一个指针类型的变量(int*)赋值给一个整数类型的变量(int)而产生的。C++ 编译器不允许将指针类型隐式地转换为整数类型,因为它们具有不同的内存布局和语义。
要解决这个错误,你需要明确地将指针转换为整数类型。你可以使用强制类型转换(type casting)来实现这一点。以下是一个示例:
int* ptr = new int(10); // 创建一个整数指针并分配内存
int num = static_cast<int>(*ptr); // 将指针转换为整数类型
// 或者
int num = reinterpret_cast<int>(ptr); // 使用reinterpret_cast进行转换
请注意,强制类型转换可能会导致潜在的错误,因此在进行转换之前请确保你理解其含义和可能的风险。
原文地址: https://www.cveoy.top/t/topic/p5KF 著作权归作者所有。请勿转载和采集!