C++ 枚举中的值数组?

C++ 枚举中的值数组?,c++,C++,我有这个密码 enum type {NOTHING, SOMETHING, SOMETHINGELSE} type *x; 例如,目前我使用x[765]==SOMETHING,我如何存储其他值 x[765] == SOMETHINGELSE; x[765].position == 43.5; x[765].somevar == 12; 我会为我的问题道歉,我刚开始的C++,我知道我想要什么,我只是不确定如何问。 谢谢。枚举基本上是int的可替换标签。您需要定义一个结构或类 struct ty

我有这个密码

enum type {NOTHING, SOMETHING, SOMETHINGELSE}
type *x;
例如,目前我使用
x[765]==SOMETHING
,我如何存储其他值

x[765] == SOMETHINGELSE;
x[765].position == 43.5;
x[765].somevar == 12;
我会为我的问题道歉,我刚开始的C++,我知道我想要什么,我只是不确定如何问。
谢谢。

枚举基本上是int的可替换标签。您需要定义一个结构或类

struct type
{
   float position ;

};

type var;
var.position = 3.4;

枚举基本上是int的可替换标签。您需要定义一个结构或类

struct type
{
   float position ;

};

type var;
var.position = 3.4;

你必须使自己成为一个更复杂的类型:

struct type
{
    enum flag_type
    {
        NOTHING, SOMETHING, SOMETHINGELSE
    } flag;
    double position;
    int somevar;
};

之后,您将拥有一个新的
类型的数组。

您必须使自己成为一个更复杂的类型:

struct type
{
    enum flag_type
    {
        NOTHING, SOMETHING, SOMETHINGELSE
    } flag;
    double position;
    int somevar;
};

之后,你会有一个新的
类型的数组。
给自己找一本好书来学习。以下是一份好书列表:

在C++中,你问的是如何声明一个结构数组。试试这个:

struct type {
    double position;
    int somevar;
};

type *x;
x[765].position = 43.5;
x[765].somevar = 12;

给自己找一本好书学习。以下是一份好书列表:

在C++中,你问的是如何声明一个结构数组。试试这个:

struct type {
    double position;
    int somevar;
};

type *x;
x[765].position = 43.5;
x[765].somevar = 12;

您的类型枚举需要是类的成员,以及其他字段。比如说,

class MyType
{
public:
    type t;
    double position;
    int somevar;
};
使用
MyType
实例数组

MyType *x;
然后你就可以做你要求做的事情,而不是你需要做的事情

x[765].t = SOMETHINGELSE;

要分配给枚举。

您的类型枚举需要是类的成员以及其他字段。比如说,

class MyType
{
public:
    type t;
    double position;
    int somevar;
};
使用
MyType
实例数组

MyType *x;
然后你就可以做你要求做的事情,而不是你需要做的事情

x[765].t = SOMETHINGELSE;

分配给枚举。

它看起来像是在寻找一种构造“知识”的方法;这是通过结构或类完成的:

#include <vector>

struct Info {
   enum thingness { nothing, something };

   // 'member' variables
   thingness howMuch;
   int a_counter;
   float position;
};

int main(){
  Info object;
  object.howMuch=Info::something;
  object.a_counter=1;
  object.position=5.4;

看起来你在寻找一种构建“知识”的方法;这是通过结构或类完成的:

#include <vector>

struct Info {
   enum thingness { nothing, something };

   // 'member' variables
   thingness howMuch;
   int a_counter;
   float position;
};

int main(){
  Info object;
  object.howMuch=Info::something;
  object.a_counter=1;
  object.position=5.4;

=
是比较运算符。如果您需要赋值运算符,那么这是一个单一的
=
。如果您刚刚开始,我可以推荐一本书列表上的优秀介绍书吗?我意识到这一点,只是为了演示的目的,它显示了一个示例值:)
==
是比较运算符。如果您需要赋值运算符,那么这是一个单一的
=
。如果您刚刚开始,我可以推荐一本书列表上的优秀介绍书吗?我意识到这一点,只是为了演示的目的,显示了一个示例值:)我的编译器正在返回:
错误:对象未命名类型
我的编译器正在返回:
错误:对象未命名类型