| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 555 人关注过本帖
标题:类库对象做为成员 一个报错问题求解
只看楼主 加入收藏
work504
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2010-8-26
结帖率:100%
收藏
 问题点数:0 回复次数:9 
类库对象做为成员 一个报错问题求解
本人用c#写的一个类库 sms_use 编译成类库 smsdll.dll
现在c++的win32应用程序中使用它,想把它做成cSmsModule中的一个成员。
现在情况如下:
1.cSmsModule.h中
#using "..\debug\smsdll.dll"  //已放入相应dll文件
using namespace smsdll;
2.类定义
class cSmsModule
{
private:
    string nLength;
    friend class sms_use;
   
public:
    cSmsModule(void);
    void cmdHandle(string cmdText,string mobileNum);
    void smsModuleLoop();
    ~cSmsModule(void);
};
3.构造函数中
cSmsModule::cSmsModule()
{
    sms_use ^sms= gcnew sms_use();
    errCode=sms->sms_init();
}
4.想在 smsModuleLoop中使用
void cSmsModule::smsModuleLoop()
{
    if (sms->sms_checkMsg()==1)   //sms_checkMsg()在sms_use类中有。
    {
    }

}

报错了。  "sms"未声明的标志符。
请教大虾们这是什么原因,要如何修改呢。

[ 本帖最后由 work504 于 2010-8-27 17:55 编辑 ]
2010-08-27 17:01
work504
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2010-8-26
收藏
得分:0 
哪位XD进来看一下啊。
2010-08-27 17:29
蛤蟆VS天鹅
Rank: 3Rank: 3
来 自:徐州
等 级:论坛游侠
威 望:1
帖 子:26
专家分:110
注 册:2010-8-22
收藏
得分:0 

    if (sms->sms_checkMsg()==1)   //sms_checkMsg()在sms_use类中有

sms指向sms_checkMsg(),上文确实没有sms的定义啊,我没看见有,重定义看看
2010-08-27 19:18
weble
Rank: 2
等 级:论坛游民
帖 子:59
专家分:83
注 册:2009-4-12
收藏
得分:0 
sms_use ^sms= gcnew sms_use();
这句,sms应该声明为成员对象

路漫漫其修远兮,吾将上下而求索
2010-08-27 21:27
work504
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2010-8-26
收藏
得分:0 
以下是引用蛤蟆VS天鹅在2010-8-27 19:18:42的发言:


    if (sms->sms_checkMsg()==1)   //sms_checkMsg()在sms_use类中有

sms指向sms_checkMsg(),上文确实没有sms的定义啊,我没看见有,重定义看看
我在cSmsModule类中定义了
private:
  string nLength;
  //friend class sms_use;
  sms_use sms;//声明成员函数
==============================
这样一样会报错:
1.无法声明托管"sms"(在非托管cSmsModule)
2.cSmsModule::sms 无法将引用类似的实例“smsdll::sms_use嵌入到本机类型中”

2010-08-28 09:20
work504
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2010-8-26
收藏
得分:0 
以下是引用weble在2010-8-27 21:27:49的发言:

sms_use ^sms= gcnew sms_use();
这句,sms应该声明为成员对象
如我楼上所写,声明了,但报错。感觉好像c#生成的dll类库做不了c++类里的成员函数。
2010-08-28 09:21
work504
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2010-8-26
收藏
得分:0 
最近问题多了,顶上去。
2010-08-28 16:55
work504
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2010-8-26
收藏
得分:0 
怎么没人进来了啊
2010-08-30 11:09
work504
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2010-8-26
收藏
得分:0 
请知情人士进来解答拿分
2010-08-30 20:52
work504
Rank: 1
等 级:新手上路
帖 子:18
专家分:3
注 册:2010-8-26
收藏
得分:0 
以上问题解决了。。。要这样修改。

public ref class cSmsModule
{
private:
    //string nLength;
    //friend class sms_use;
    sms_use ^sms;
=====================================
希望以后哪位XD遇到同样问题少走弯路。

2010-09-01 10:21
快速回复:类库对象做为成员 一个报错问题求解
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030593 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved