如何避免与VSConstants.S_OK字段的命名冲突
how to avoid naming conflict with VSConstants.S_OK Field?
这是场景:
我有 WSCF Blue 生成的 C# Web 服务客户端,我必须从 C 调用它。我用C++ CLI"桥"来做到这一点。在 C# Web 服务客户端中,我有
namespace MyCompany.Product.ExternalPlan.Client
{
public enum TMsgStatus
{
S_OK,
//...
E_ERROR,
}
这很好。
C++ CLI 项目执行以下操作(这不在任何命名空间中!!
try
{
EPClient::Client^ client = gcnew EPClient::Client();
m_ResponseHeader = client->CreateExternalProject(n_Project->Id, m_ProjectData, m_NameValuePairs, // in
m_PlanAndWorksExternal, ConvertNativeToManaged(n_UserName), // in
m_ProjectRet, m_PlanAndWorksRet); // out
}
catch (Exception ^ e)
{
// ...
return -1;
}
if (m_ResponseHeader->Status == MyCompany::Product::ExternalPlan::Client::TMsgStatus::S_OK)
{
ConvertManagedToNative(n_ProjectRet, m_ProjectRet);
}
现在,如果我将上面的 if 语句中的S_OK更改为E_ERROR就可以了。我读到C++枚举是全局的,所以我认为这就是它与这个 VS 东西混合的原因。 我对C++编程几乎一无所知。C++代码是从 C 调用的,我有类似的没有命名空间的例子。我认为这甚至无关紧要,因为我指的是具有完整命名空间的S_OK。
谢谢和最好的问候! -马蒂
我认为这更多的是#define
问题而不是命名空间。在使用它的代码之前尝试#undef S_OK
。
相关文章:
- 将结构字段的类型展开为可变模板参数
- 将位字段导出到数组
- 为了方便起见,我应该避免公开私有字段变量吗
- 当字段可以为null时,如何使用C++接口在Avro中写入数据
- 在java中读取c++字节的位字段
- 链接器找不到在虚拟类 c++ 中访问的静态字段的符号
- 私有字段对象与私有继承?
- 声明没有默认构造函数的字段
- C++内存模型和位字段的最大序列
- 声明为无效的变量或字段'...' Ardunio 编译器上的错误
- 如何在QByteArray中放置和检索位字段而不会感到痛苦?
- C++ win32 如何使密码字段可选并启用复制和粘贴?
- 如何通过UDP接收QByteArray并将其解析为位字段结构?
- 仅匹配集合中的某些字段
- 结构字段名称与 GDB 中的 STL 数组冲突
- 如何使用位字段将数据从二进制文件复制到结构中?
- 结构体和类的不同大小(),彼此具有相同的字段类型
- 如何避免在数据结构中包含存储为字段的类?
- 在DEBUG模式下调整字节字段大小时发生访问冲突
- 如何避免与VSConstants.S_OK字段的命名冲突