我需要知道
之间的区别int *testPointer = NULL;
int a=10;
testPointer=&a;
testPointer->someFunc();
和
int *testPointer = NULL;
int a=10;
testPointer=&a;
someFunc(testPointer);
其次,这将是调用someFunc
函数的更好方法,这样我就可以访问指针testPointer
指向的数据并可能修改它。
答案 0 :(得分:3)
在第一种情况下:
testPointer->someFunc();
您正试图致电testPointer
函数someFunc()
,因为它不是int
。
在第二种情况下:
someFunc(testPointer);
您正在将testpointer
传递给someFunc()
答案 1 :(得分:2)
我需要知道
之间的区别int *testPointer = NULL; int a=10; testPointer=&a; testPointer->someFunc();
和
int *testPointer = NULL; int a=10; testPointer=&a; someFunc(testPointer);
第一个片段,“testPointer-> someFunc();” 无法编译。 “testPointer”是一个int类型变量,它没有名为“someFunc()”的方法。
第二个片段,将编译。它会调用“someFunc()”。如果“someFunc()”声明为“void someFunc(int *)”
,这将有效其次哪个会更好地调用someFunc函数,这样我 可以访问指针testPointer指向的数据并可能修改 它
第二个代码段是调用“someFunc()”的正确方法,它将能够修改“testPointer”指向的数据的值。