我想使用非静态对象变量作为默认方法参数

cng*_*suz 1 c++

可能重复:
c ++公共继承的类成员不能用作默认参数
非静态成员作为非静态成员函数的默认参数

LinkedInteger accessElement(int index, LinkedInteger *startElement=&DataArray[0]){ // Starting at *startElement*, returns the element which is at the index of *startElement+index

    LinkedInteger NullElement;
    if (index<0){
        cout << "Index degeri sifirdan buyuk olmalidir" << endl;
        NullElement.value=0;
        NullElement.nextPtr=0;
        return NullElement;
    }       
    for (int i=0; i<index; i++){
        if (startElement->nextPtr == NULL){ // Last elements index is null.
            cout << " Erismeye calistiginiz eleman dizi sinirlarinin disindadir " << endl;
            NullElement.value=0;
            NullElement.nextPtr=0;
            return NullElement;}
        else {
            startElement=startElement->nextPtr;
        }
    }
    return *startElement; 
}
Run Code Online (Sandbox Code Playgroud)

这是在c ++中实现链接列表的一种方法,它只是允许访问列表元素,我想将标题作为默认参数(实际上是DataArray [0]).它失败是因为错误"无效使用非静态数据成员".

this->&DataArray[0]
Run Code Online (Sandbox Code Playgroud)

因为"这可能不会在这种情况下使用"也失败了我该怎么办?

此外,代码的上下文也存在一些问题.请忽略它们.

Xeo*_*Xeo 5

使用过载:

LinkedInteger accessElement(int index){
  return accessElement(index, &DataArray[0]);
}
Run Code Online (Sandbox Code Playgroud)