无法使用指针查找正确的元素 - 从函数返回时,对象上的 poiting 为 null
can't use pointer to find right element - poiting on object is null on return from function
我用一些函数编写了一些代码,这些函数可以获取指针和一些常量,需要返回其指向的元素=
我找不到我的指针在从函数返回时为空的原因 -请提供任何帮助
class MyClass
{
// Some Code
}
void FindCurrectMyClass(const int val, MyClass* myClassPtr)
{
switch(val)
{
case(0):
{
myClassPtr = &myClass0;
}
break;
case(1):
{
myClassPtr = &myClass1; // get here and myClassPtr is not null
}
break;
case(2):
{
myClassPtr = &myClass2;
}
break;
}
}
void main()
{
MyClass myClass0;
MyClass myClass1;
MyClass myClass2;
MyClass* myClassPtr = nullPtr;
FindCurrectMyClass(1, myClassPtr );
myClassPtr->Func(); // myClassPtr is null
}
编辑,我以为我们在C中,但我们在C++
取代
void FindCurrectMyClass(const int val, MyClass* myClassPtr)
由
void FindCurrectMyClass(const int val, MyClass*& myClassPtr)
否则你只修改本地参数,所以当你返回时什么都不做,myClassPtr 仍然是空
的当然你必须把
MyClass myClass0;
MyClass myClass1;
MyClass myClass2;
例如,在 FindCurrectMyClass 之前的全局范围内,否则无法访问它们
相关文章:
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 接收和返回函数指针的函数指针的类型?
- 我的动态链接队列在同一输出流中调用时不正确地输出三个返回函数
- C++函数链返回函数
- 返回函数指针的函数的签名
- 由于值返回函数中的错误,程序无法编译.它说未声明的标识符
- 非常量引用返回函数在常量值返回函数上用作 r 值
- 如何在 C++ 中从 void 返回函数访问变量
- 返回函数中带有 2 个可选 ctor 的对象
- 如何在 c++ 中返回函数的结构向量
- 返回 C++ 函数中的引用
- 使用向量时,当返回函数更改时,无法看到输出
- 如何在递归中使用返回函数
- 返回函数模板的类型C++作为第二个模板参数
- 为什么静态指针返回函数中有一个"静态"键?
- 递归返回函数,在特殊情况下不返回
- 从类返回函数
- 从类成员函数返回函数指针
- 从返回函数中推断不存在的模板参数