我有一个Java项目,我使用JNI使用一些C ++代码。 我遇到了一个奇怪的问题。
我有一个看起来或多或少的课程:
class MyClass
{
private:
MyType* _p;
public:
MyClass();
virtual ~MyClass();
void myFunc();
};
和
MyClass::MyClass() : _p(NULL) {
// _p's value here is indeed NULL (0)
}
MyClass::~MyClass() {
}
void MyClass::myFunc() {
if (_p != NULL) {
delete _p;
}
_p = new MyType();
}
除myFunc
之外没有其他功能触及_p
,并且出于某种原因,即使在初始化为NULL
之后,第一次调用myFunc
时,{{1}其中有一些垃圾值,函数试图删除它。
使用JNI调用_p
的ctor,并在另外的场合使用JNI调用MyClass
。
非常感谢任何帮助。