2
我目前有一个中断,我是新的c + +和CORBA。我想分配一个CORBA :: Char,但是我得到一个编译器错误“错误:从'CORBA :: Char *'无效转换为'CORBA:Char'。有没有人有一个想法,我的代码有什么问题,以及如何写纠正从CORBA :: Char *到CORBA的无效转换:: Char
感谢 西蒙
class Medium_impl : virtual public POA_Media::Medium {
public:
CORBA::Char gettype();
void settype(CORBA::Char);
private:
CORBA::Char type;
};
Medium_impl::Medium_impl (char* _oidstr) {
type='V';
}
void Medium_impl::settype(CORBA::Char _type){
type = _type;
}
CORBA::Char Medium_impl::gettype(){
return type;
}
我得到的错误在测试了Methode AREF - >的setType(类型[1]);?!
void Mediathek_impl::test (void) {
CORBA::Char type[10][1];
strcpy(type[0],"V");
for(int i = 0; i<=9;i++){
char oidstr[20];
sprintf(oidstr,"medium_%d.acc",count);
PortableServer::ObjectId_var tmpoid=PortableServer::string_to_ObjectId(oidstr);
CORBA::Object_var obj = mypoa->create_reference_with_id (tmpoid,"IDL:Medium:1.0");
::Media::Medium_ptr aref = ::Media::Medium::_narrow (obj);
assert (!CORBA::is_nil (aref));
oid[count] = mypoa->reference_to_id(aref);
//here I get the Compiler-error
aref ->settype(type[i]);
count ++;
}
你是一个数组(衰减到指针)时,它需要一个字符。 – chris
你的代码的错误*正是错误消息所说的:你试图将一个char指针存储到char中。如何解决这个问题取决于你真正想做什么。你还没有解释你实际想要做什么*做* – jalf
IDL到C++ 11语言映射比IDL到C++语言映射更容易学习,请查阅http://swsupport.remedy.nl了解更多信息详情以及如何获得TAOX11的评估许可 –