typedef如何代替Procedure c++的struct/class工作
How does typedef work in place of struct/class for Procedural c++?
我必须构建一个具有两种数据类型的程序(过程C++(。一个叫做Elem的元素,它是向量(一维数组(的一个元素。一个名为Vector的数组,它包含一个无符号int,表示数组的大小,也表示Elem本身的数组。我似乎无法找到正确的方法来构建这些结构,使它们发挥作用,因为我以前从未用程序c++做过任何事情。
这就是我的
typedef Elem {
float Element;
}
typedef Vector {
unsigned int size = 0;
Elem* Array = new array[];
}
但是我收到这个错误
C++ requires a type specifier for all declarations
typedef Elem {
~~~~~~~ ^
以及
error: expected ';' after top level declarator
typedef Elem {
^
我在这里不知所措,任何帮助都将不胜感激!
你不说
typdef Elem {
...
};
正确的方法是
struct Elem {
...
};
还要注意声明末尾的分号;
。
有关一些小示例,请参见类声明。
typedef float Elem;
struct Vector {
unsigned int size;
Elem* Array;
};
您可以用构造函数、析构函数、复制语义等定义一个完整的Vector类,或者只使用std::vector<Elem>
。
你可能会被C弄糊涂,其中一个常见的习语是:
typedef struct tagVector {
...
} Vector;
但是这种冗长的语法在C++中是不必要的。
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- C++Union/Struct位域的实现和可移植性
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- "Undefined class"作为is_base_of的论据
- 如何在c++中定义以struct为数据成员的类中的构造函数
- 错误:"Left of getValue must have class/struct/union"
- 得到错误"left of '.toString' must have class/struct/union",即使 toString 应该有一个合适的对象
- C++ typedef struct vs class
- C++错误:" 'class' does not name a type"和"invalid use of incomplete type ‘struct ...' "
- 获取"Use of undefined type"和"Must have class/struct/union"错误
- 前向声明不够时如何避免"'identifier' uses undefined class/struct/union 'name'"错误?
- 当已经有"struct"时,在C++中包含'class'关键字的原因是什么?
- c++ struct OO vs class OO
- 当内部类是class vs struct时,不可访问的基类
- typedef如何代替Procedure c++的struct/class工作
- 栈使用Struct或Class来实现其私有数据
- 将"class"更改为"struct"