我怎样才能持续地通过列举? - 页 6 12345678 新评论 fxsaber 2016.08.31 19:56 #51 pavlick_:给程序员的一个提示。 现在,如果我们需要编辑一个枚举,我们可以在一个地方编辑一次。我们需要添加一个新元素,例如 element_new = 56,我们添加而且,我们不需要费心去编辑函数get_enumqq_array()。该技术被称为X宏https://en.wikipedia.org/wiki/X_Macro。如果开发者愿意,他们可以以类似的方式轻松地修改标准枚举。也许不是很明显,列举的结果是这样的。酷!我不知道X微距,谢谢你!我只是不理解这段代码,为什么在定义ENUM_QQ_HELPER的末尾有一个逗号而没有错误。在定义枚举或数组时,最后一个元素后面不应该有一个逗号。但是,由于某些原因,编译器似乎并不对它发誓。我试图int a[] = {1, 2,};不会的。而数组的大小(枚举)也是应该的。很酷啊!这似乎是一个错误,但我宁愿有这样一个错误。真的,这很方便。 pavlick_ 2016.08.31 20:02 #52 为什么没有因逗号而产生的错误? 嗯,这是一个合法的违规行为,特别是像这样的各种 "东西",显然。不用担心,这在C/C++中也不是一个错误。SZZ:在C++标准中关于初始化的主题。braced-init-list: {initializer-list , opt} { }也就是说,在括号-init-list末尾的逗号在最高级别上是合法的。 fxsaber 2016.08.31 20:32 #53 pavlick_:也就是说,大括号-init-list结尾的逗号在最高级别上是合法的。 谢谢你,我将知道并使用它。 TheXpert 2016.08.31 21:47 #54 pavlick_:给程序员的一个提示。那些在评论中的正常名字呢? fxsaber 2016.08.31 21:56 #55 Комбинатор:那些在评论中的正常名字呢? 我可以有一个有关枚举的例子吗? pavlick_ 2016.08.31 22:41 #56 Комбинатор:那些在评论中的正常名字呢?是的,插入评论不起作用。对枚举进行评论的不幸的语法。我可以有一个有关枚举的例子吗?enum E { a = 1 // вот этот комментарий } fxsaber 2016.08.31 23:34 #57 pavlick_:是的,插入评论是行不通的。对枚举进行评论的不幸的语法。 最后用/*...*/结束。 pavlick_ 2016.08.31 23:48 #58 fxsaber: 在/*...*/中结束。 这里的废话是,预处理器不想吃注释(包括//和/*),不希望在扩展宏时看到它们。 要么改变预处理器的规则,要么引入另一种注释枚举的方法(注释将在设置中运行脚本时显示),比如这样。 enum E { a = 1, --**-- Комментарий_1 b = 2 --**-- Комментарий_2}; 我在这里已经无能为力了。 prostotrader 2016.08.31 23:58 #59 pavlick_: 这里的问题是,预处理器不想吃注释(包括//和/*),它不希望在展开宏时看到它们。 要么改变预处理器的规则,要么引入另一种注释枚举的方式(注释将在脚本运行的设置中显示),像这样。 enum E { a = 1, --**-- Комментарий_1 b = 2 --**-- Комментарий_2}; 我在这里已经无能为力了。 pavlick_ 2016.09.01 00:07 #60 预处理是分几个步骤进行的。起初,所有的注释都被从源代码中删除,结果被送去进行处理。而这是预处理器不希望遇到注释的地方(当它打开宏的时候)。它将认为这样的遭遇是一个错误。例如,这里。#define COMMENT / ## / void OnStart() { COMMENT } 乍一看,这个无害的代码应该包含一个注释。但它无法编译。 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
给程序员的一个提示。
现在,如果我们需要编辑一个枚举,我们可以在一个地方编辑一次。我们需要添加一个新元素,例如 element_new = 56,我们添加
而且,我们不需要费心去编辑函数get_enumqq_array()。该技术被称为X宏https://en.wikipedia.org/wiki/X_Macro。如果开发者愿意,他们可以以类似的方式轻松地修改标准枚举。
也许不是很明显,列举的结果是这样的。
酷!我不知道X微距,谢谢你!我只是不理解这段代码,为什么在定义ENUM_QQ_HELPER的末尾有一个逗号而没有错误。在定义枚举或数组时,最后一个元素后面不应该有一个逗号。但是,由于某些原因,编译器似乎并不对它发誓。
我试图
不会的。而数组的大小(枚举)也是应该的。很酷啊!这似乎是一个错误,但我宁愿有这样一个错误。真的,这很方便。
嗯,这是一个合法的违规行为,特别是像这样的各种 "东西",显然。不用担心,这在C/C++中也不是一个错误。
SZZ:在C++标准中关于初始化的主题。
braced-init-list:
{initializer-list , opt}
{ }
也就是说,在括号-init-list末尾的逗号在最高级别上是合法的。
也就是说,大括号-init-list结尾的逗号在最高级别上是合法的。
给程序员的一个提示。
那些在评论中的正常名字呢?
那些在评论中的正常名字呢?
那些在评论中的正常名字呢?
是的,插入评论不起作用。对枚举进行评论的不幸的语法。
我可以有一个有关枚举的例子吗?
是的,插入评论是行不通的。对枚举进行评论的不幸的语法。
在/*...*/中结束。
enum E {
a = 1, --**-- Комментарий_1
b = 2 --**-- Комментарий_2
};
这里的问题是,预处理器不想吃注释(包括//和/*),它不希望在展开宏时看到它们。 要么改变预处理器的规则,要么引入另一种注释枚举的方式(注释将在脚本运行的设置中显示),像这样。
enum E {
a = 1, --**-- Комментарий_1
b = 2 --**-- Комментарий_2
};
预处理是分几个步骤进行的。起初,所有的注释都被从源代码中删除,结果被送去进行处理。而这是预处理器不希望遇到注释的地方(当它打开宏的时候)。它将认为这样的遭遇是一个错误。例如,这里。
乍一看,这个无害的代码应该包含一个注释。但它无法编译。