我正在使用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值。

07-27 21:42