gpt4 book ai didi

c++ - 如何从指针转换为 int?

转载 作者:行者123 更新时间:2023-11-30 19:28:15 26 4
gpt4 key购买 nike

我试图从指针返回 int,但不断收到错误消息“从指针转换为不同大小的整数”。代码部分如下。我认为问题可能是 var_num 调用的函数都是无效的,但理想情况下,如果我可以在不更改所有函数(及其后续函数)的情况下逃脱,那就容易多了。谢谢!

int var_num(Prog *ptr)
{
if(!isdigit(ptr->words[ptr->current_line][0])) {
ptr->current_var = ptr->vars[var_instruction(ptr)];
}
else {
num_instruction(ptr);
}

return (int)ptr;
}

最佳答案

我假设Prog是某种structclass 。无论哪种情况,它都是一个比简单变量复杂得多的对象,并且将其转换为不同的类型并不简单。至少编译器自己无法做到这一点,因为它是不明确的。

问题是,编译器可以输入强制类型转换 float进入int例如,但转换 class Student进入class Car如果没有明确定义其工作原理,则无法完成。

如果Prog包含某种您想要返回的属性(在下面的示例中我将其称为 attribute),这就是您需要做的:

return ptr->attribute;

如果该属性的类型不同于 int但是 primitive输入,然后您可以像这样输入强制转换。

return (int)ptr->attribute;

关于c++ - 如何从指针转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54384324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com