gpt4 book ai didi

c++ - 无法将 MyClass* 转换为 const MyClass

转载 作者:太空宇宙 更新时间:2023-11-04 16:22:13 26 4
gpt4 key购买 nike

我正在尝试向 C++ 中的变量添加常量性,但 VC 拒绝编译并出现 Error C2664 : cannot convert MyClass * to const MyClass &。我已经尝试了一切,完成了搜索,阅读了类似的问题( 12 ),但我仍然无法解决。

我的函数定义为:

void ClassFoo::FuncFoo(MyClass* instance){
Merge(instance); // <--- Error C2664 -- cannot convert MyClass* to const MyClass &
Merge(&instance); // <--- Error C2664 -- cannot convert MyClass** to const MyClass &
Merge(*instance); // <--- This compiles fine, but doesn't work properly at runtime
Merge(const_cast<const GFxTextFormat&>(instance)); // <--- Error C2440
}

MyClass Merge (const MyClass &instance){
}

我应该怎么做才能正确地将常量添加到变量 instance 中,以便我可以正确调用 Merge

最佳答案

const 在这里不是问题,它会自动添加。问题是指针与引用。

就您向我们展示的代码而言,以下内容是正确的:

 Merge(*instance);

如果这在运行时不起作用,则问题出在您没有向我们展示的代码中。

关于c++ - 无法将 MyClass* 转换为 const MyClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15590922/

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