首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在托管C++ 2005中声明枚举的正确方法?

在托管C++ 2005中声明枚举的正确方法?
EN

Stack Overflow用户
提问于 2009-01-08 22:46:15
回答 2查看 2.2K关注 0票数 1

如果我使用/clr:oldSyntax,应该可以使用以下内容:

代码语言:javascript
复制
public __value enum IceCreamFlavors
{
   Vanilla,
   Chocolate,
   Sardine,
};

什么是非旧句法的等价物?如何在托管C++ for .NET 2.0中声明“托管”枚举?

编辑:当我遵循JaredPar的advice时,如果我试图将一个IceCreamFlavor传递给一个带有签名的函数:

代码语言:javascript
复制
OrderFlavor(IceCreamFlavors flav)

通过跑

代码语言:javascript
复制
OrderFlavor(IceCreamFlavors::Sardine)

我知道错误:

代码语言:javascript
复制
'IceCreamFlavors Sardine' : member function redeclaration not allowed
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-01-08 22:50:40

试一试

代码语言:javascript
复制
enum class IceCreamFlavors {
  Vanilla,
  Chocolate,
  Sardine,
};
票数 2
EN

Stack Overflow用户

发布于 2010-11-30 20:18:17

你是否有意在另一个类中声明你的枚举?ie:

代码语言:javascript
复制
public ref class Icecream
{
     public enum class flavours
     {
          Mint,
          Vanilla,
          Guac
     };
};

如果是的话,我猜您需要将它移出,这样它就成为了它自己的类,而不是嵌套的类。(托管c++允许嵌套类吗?)我的印象是,您以前能够在另一个类中执行非托管样式,但是由于它现在是它自己的类,所以您可能不应该嵌套它们。我可能错了。我对管理c++和c#的知识比较薄弱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/426353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档