我正在尝试更改对象内部的类的私有变量,该变量在该类中初始化。我的意图可以从下面的简单例子中得出。从obj调用的$results
应该增加Array
(
[8] => 424
[9] => 16
)
。
Increment
问题在于,当我尝试通过BaseClass::stuff
访问template <typename ObjectType>
class BaseClass{
private:
typedef int SampleType; // give custom name type
int stuff = 0;
ObjectType obj;
public:
int Increment(){
return obj.Increment<SampleType>(stuff);
}
};
class ObjectType{
public:
template <typename T>
int Increment (T& stuff)
{
return stuff++;
};
};
int main () {
BaseClass<ObjectType> base;
base.Increment(); // should increase stuff by 1;
}
时,它会给我一个错误:
ObjectType::Increment
我很难看到这个问题的原因。