是否可以在指针上使用函数?

时间:2017-03-04 22:17:01

标签: c++ arrays pointers

我有以下代码:

int n =3;
int A[n] = {3,2,1}, B[n], C[n];

han(n, A, B, C);
//--------------
void han(int disk, int source[], int target[], int spare[])
{
  ...      
  target[target -> end()] = source -> back();
  source -> back() = 0; 
// error : request for member 'end' in '* target', which is of non-class type 'int'
  ...     
}

我知道han int target[]内部是一个指针。 有没有办法在target.end()内使用source.back()han

2 个答案:

答案 0 :(得分:1)

直接回答否。最好在这种情况下使用矢量。

答案 1 :(得分:0)

  

我知道han int target[]内部是一个指针。有没有办法在target.end()内使用source.back()han

没有。指针没有成员函数,所以你不能做这样的事情。指针包含内存中对象的地址。没有更多,没有更少。只使用指向数组元素的指针,就不可能找到整数数组的结尾。你需要知道大小。