首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从CORBA::Char*到CORBA::Char的无效转换

从CORBA::Char*到CORBA::Char的无效转换
EN

Stack Overflow用户
提问于 2013-11-24 12:02:16
回答 1查看 334关注 0票数 2

我目前有一个停电,我是新的c++和CORBA。我试图分配一个CORBA::Char,但是我得到了一个编译器错误“错误:从'CORBA::Char*‘到’CORBA::Char‘的无效转换。有谁知道,我的代码有什么问题,以及如何正确地编写它?

谢谢!西蒙

代码语言:javascript
复制
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 ->settype(typei);

代码语言:javascript
复制
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 ++; 
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-24 12:11:55

type已被宣布为:

代码语言:javascript
复制
CORBA::Char type[10][1];

然后,type[i]CORBA::Char*,构建器抱怨不知道如何将其转换为CORBA::Char。我觉得你想:

代码语言:javascript
复制
aref ->settype(type[i][0]);

代码语言:javascript
复制
CORBA::Char type[10];

strcpy(type,"V");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20174220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档