VS初学C++模板,想用C++写个栈,结果出现error C3867: “XXX::XXX”: 非标准语法;请使用 “&” 来创建指向成员的指针。
因为在其他函数中使用了构造参数的局部变量。
Mystack(const int size) {
p = shared_ptr<T[]>(new T[size]);
top = -1;
Size = &size;
};
bool push( T &t) {
if (top <(size-1)) { **这儿的size是构造函数中的局部变量,不能在这儿直接使用**
top++;
p[top] = t;
return true;
}
else {
return false;
}
};