我有一个内置 C# 代码的 Dll,由于某些需要,我想将它与 C++ 代码一起使用。
经过长时间的搜索,我找到了一个解决方案,并使用 RegASM.exe 从我的 abcd.dll 文件中创建了 abcd.tlb。
导入此文件后,
#import "D:\\..\\abcd.tlb" raw_interfaces_only
当我构建我的解决方案时,会发生错误,
错误 C2380:“Accepted_Bills”之前的类型(具有返回类型的构造函数,或当前类名的非法重新定义?)d:..\abcd.tlh
当我搜索这个错误时,我知道了一个结构,
struct __declspec(uuid("23dbd772-5aa8-3b5a-90a1-b19e4a052166"))
Accepted_Bills
{
long Denomination;
__int64 Accepted_Bills;
};
与其成员之一同名。这在 C++ 中是不允许的。我正在使用 Visual Studio 2010 来编译它。
谁能帮我消除这个错误。非常感谢!