急问:如何处理两义性的问题。

yangrenzhi 2002-06-21 11:17:58
由于使用了二种控件。
TDBGridEh和TExcelApplication
编译时会报两议性的错。
[C++ Error] DBGrids.hpp(62): E2015 Ambiguity between 'Menus' and 'Excel_2k::Menus'
[C++ Error] DBGrids.hpp(102): E2015 Ambiguity between 'Menus' and 'Excel_2k::Menus'
[C++ Error] DBGrids.hpp(151): E2015 Ambiguity between 'Menus' and 'Excel_2k::Menus'
[C++ Error] DBGridEh.hpp(560): E2015 Ambiguity between 'Menus' and 'Excel_2k::Menus'
[C++ Error] DBGridEh.hpp(638): E2015 Ambiguity between 'Menus' and 'Excel_2k::Menus'
[C++ Error] DBGridEh.hpp(775): E2015 Ambiguity between 'Menus' and 'Excel_2k::Menus'

该怎么处理才能顺利编译通过。急贴。解决立结。
...全文
65 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dybcb 2002-08-24
  • 打赏
  • 举报
回复
查一下工程吧,不可能DBGrids中定义了Menus的!可能是CB乱套了
yangrenzhi 2002-06-22
  • 打赏
  • 举报
回复
我的确是想使用namespaces来切分各个单元。
但真的是不会做。试过no_namespace
using,但不得其法。无法调通。

对于要改::和Excel_2k::的这种方法。实在是工作量太大了。
吃不消。我已经在BCB版早已说明。

该怎样定义命名空间?
halfdream 2002-06-22
  • 打赏
  • 举报
回复

Menus
改成下面两种其中一种.
Excel_2k::Menus
::Menus

至于改成哪一种,你自己要什么就用什么.
manboo 2002-06-22
  • 打赏
  • 举报
回复
//---------------------------------------------------------------------------

#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
#endif
#include "IOStream.h"

namespace A{
class test{
public:
void print()
{ cout<<"test in NameSpace A";
} ;
};
} ;
namespace B{
class test{
public:
void print()
{ cout<<" test in NameSpace B" ;
} ;
} ;

} ;


#include <vcl.h>
#include "unit2.h"
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{ using namespace A ;
A::test t;
t.print();
using namespace B;
B::test t1;
t1.print();
cin>>"" ;
return 0;
}
//---------------------------------------------------------------------------


yangrenzhi 2002-06-22
  • 打赏
  • 举报
回复
此问题已不用再论。

BCB版的这个问题已结。

我是为我这个贴子做广告http://www.csdn.net/expert/topic/823/823442.xml?temp=.4776728

解决后二贴一起结写解决上面这个问题的人。
bcb_fans 2002-06-22
  • 打赏
  • 举报
回复
没有办法,既然冲突了,就只能用namespace区分.不过"工作量太大"却未必,如果用手工一个一个的改,当然很大.而UltraEdit可以在文件中进行替换操作,具体可以看它的对话框就知道了,很容易的.
yangrenzhi 2002-06-22
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/823/823442.xml?temp=.4776728
windindance 2002-06-22
  • 打赏
  • 举报
回复
调整头文件内包含文件的顺序。
TExcelApplication所在头文件放在最后面。
manboo 2002-06-21
  • 打赏
  • 举报
回复
关键字 using 来分割名字空间来驱除二义性
书生 2002-06-21
  • 打赏
  • 举报
回复
Mark@_@

前一个是你新安装的控件是么?
这个控件封装的跟系统控件有冲突
manboo 2002-06-21
  • 打赏
  • 举报
回复
在C++中使用名字空间来进行分割不就行了,Dephi中是使用单元分割的!
书生 2002-06-21
  • 打赏
  • 举报
回复
Menus不明确,有二义的可能。
你将涉及到"Menus"的代码帖出来看看。
yangrenzhi 2002-06-21
  • 打赏
  • 举报
回复
说明:使用的是C++ Builder的环境。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧