C++-宏定义抛出错误
C++- Macro definition throwing error
我是 C++ 编程新手。我正在尝试一些事情
我尝试按照以下方式使用指令,如下面的程序所示,只是为了跟踪它抛出错误
IDE used:VS 2015
语言:VC++
项目类型:图书馆
发生的错误是错误:需要一个标识符
这是在Stdafx.h
#define MANAGED_PUBLIC public ref
这是在trail.h
using namespace System;
namespace trail {
MANAGED_PUBLIC class Class1
{
// TODO: Add your methods for this class here.
};
}
我想在整个项目中每次都使用 MANAGED_PUBLIC 而不是使用 public ref
您可以尝试编译器标志:-DMANAGED_PUBLIC="public ref"
用于您的遗留代码(根据 msdn 去除引号)。
你不能那样做。 public ref
是上下文相关的关键字。你不能把它埋在宏下。 C++/CLI 编译器处理它的方式与常规编译器不同,因此宏结果不会是 public ref
。你必须在任何地方输入它。
您可以使用两个宏:
#define MANAGED_PUB public
#define MANAGED_REF ref
MANAGED_PUB MANAGED_REF class Class1
{
// TODO: Add your methods for this class here.
};
我是 C++ 编程新手。我正在尝试一些事情 我尝试按照以下方式使用指令,如下面的程序所示,只是为了跟踪它抛出错误
IDE used:VS 2015
语言:VC++
项目类型:图书馆
发生的错误是错误:需要一个标识符
这是在Stdafx.h
#define MANAGED_PUBLIC public ref
这是在trail.h
using namespace System;
namespace trail {
MANAGED_PUBLIC class Class1
{
// TODO: Add your methods for this class here.
};
}
我想在整个项目中每次都使用 MANAGED_PUBLIC 而不是使用 public ref
您可以尝试编译器标志:-DMANAGED_PUBLIC="public ref"
用于您的遗留代码(根据 msdn 去除引号)。
你不能那样做。 public ref
是上下文相关的关键字。你不能把它埋在宏下。 C++/CLI 编译器处理它的方式与常规编译器不同,因此宏结果不会是 public ref
。你必须在任何地方输入它。
您可以使用两个宏:
#define MANAGED_PUB public
#define MANAGED_REF ref
MANAGED_PUB MANAGED_REF class Class1
{
// TODO: Add your methods for this class here.
};