Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;带指针的重载方法_C++_Pointers_Overriding - Fatal编程技术网

C++ C++;带指针的重载方法

C++ C++;带指针的重载方法,c++,pointers,overriding,C++,Pointers,Overriding,我有一个带指针的重载函数: void ImageFilter::applyChanges(int ***pixels) void ImageFilter::applyChanges(int **pixels) 我做了一个小测试,检查编译器是否知道何时使用一个或另一个,并且它知道 我的问题是,编译器怎么可能知道如何区分这些函数呢?好吧,aint***和aint**是不同的类型。但是只有内存地址,我错了吗?编译器将它们视为类型,非原始内存地址它们都表示一个地址,但该地址表示的类型不同。通过类型而不

我有一个带指针的重载函数:

void ImageFilter::applyChanges(int ***pixels)
void ImageFilter::applyChanges(int **pixels)
我做了一个小测试,检查编译器是否知道何时使用一个或另一个,并且它知道


我的问题是,编译器怎么可能知道如何区分这些函数呢?

好吧,a
int***
和a
int**
是不同的类型。但是只有内存地址,我错了吗?编译器将它们视为类型,非原始内存地址它们都表示一个地址,但该地址表示的类型不同。通过类型而不是值重载。通过相同的逻辑,
float
int
无法区分,因为它们都是32位二进制值(在平台X上)。