我正在使用Visual C ++。你能帮忙这个语法吗?
class CVisionSystem
{
public:
CVisionSystem();
~CVisionSystem(void);
int Init();
private:
PvDevice device;
// PvStream object
PvStream stream;
// Buffer
CustomPipeline *pipeline;
// GEV Parameters
PvGenParameterArray *deviceParams;
PvGenInteger *parTLLocked;
};
int CVisionSystem::Init()
{
deviceParams = device.GetGenParameters();
parTLLocked = dynamic_cast<PvGenInteger *>( deviceParams->Get( "TLParamsLocked" ) );
}
deviceParms获取有效值,但是parTLlocked获取导致错误的NULL值:“无法评估错误表达式,_vfptr CX0030和mthis CX0076。
ParTLLocked可能是什么问题?
最佳答案
我猜想deviceParams->Get( "TLParamsLocked" )
返回的类型不能动态转换为PvGenInteger *
。返回类型应该是指向PvGenInteger
的子类或父类(或可能是同一类)的指针,以便此dynamic_cast返回非null值。