2016-08-26 36 views
1

我想在我的自定義模塊添加「屬性」使用下面的代碼Kurento:自定義模塊的錯誤,同時增加「屬性」

在我* .kdm.json文件:

"properties": [ 
{ 
    "name": "params", 
    "doc": "set params", 
    "type": "String" 
} 
] 

林我.HPP文件

virtual std::string getParams(); 
virtual void setParams (std::string params); 

在我.cpp文件

void myCustomFilterImpl::setParams (std::string params) 
{ 
    //code here 
} 

std::string myCustomFilterImpl::getParams() 
{ 
    return params.c_str(); 
} 

我收到以下錯誤,同時運行debuild

error: cannot allocate an object of abstract type ‘kurento::module::mycustomfilter::myCustomFilterImpl’ return new myCustomFilterImpl (conf, mediaPipeline); 

..... note: because the following virtual functions are pure within ‘kurento::module::mycustomfilter::myCustomFilterImpl’: class myCustomFilterImpl:public FilterImpl, public virtual myCustomFilter 
     ^
.... note: virtual void kurento::module::mycustomfilter::myCustomFilter::setParams(const string&) 
    virtual void setParams (const std::string &params) = 0; 
       ^
... error: control reaches end of non-void function [-Werror=return-type] 
     } 
    ^

有什麼,我缺少這裏,我自定義模塊的代碼添加?

properties工作正常,我的其他自定義模塊,但我不知道我在這個自定義模塊中得到這個錯誤。

+0

看起來像在'kdm.json'文件中添加''屬性''使得類抽象,任何想法什麼mi是否會出錯? –

回答

2

的問題是,該方法是由模板聲明如下:

virtual void setParams (const std::string &params); 

但你這樣實現它:

virtual void setParams (std::string params); 

注意區別在params declararion(&const

+0

非常感謝,它工作! –