错误、漏洞、问题 - 页 2869 1...286228632864286528662867286828692870287128722873287428752876...3184 新评论 Roman 2020.10.08 16:36 #28681 A100:你有一个语法错误--给出一个在括号里有(typename)的工作代码的例子。你还不如在括号里写上(OnStart)。 嗯,没有语法错误 typename(J) 但你已经认为这段代码是语法错误了吗? (typename)J 当一个类型转换原则应该在这里起作用,而帮助允许这两种变体。 A100 2020.10.08 21:43 #28682 Roman:像这样,没有语法错误。这算不算是一个语法错误?当类型转换的原则应该在这里起作用,而帮助允许这两种情况。 template<typename T> typename不是一个类型,它是一个关键字。在这种情况下,类型是T。转换是到一个类型,而不是到关键字。 哲学上的理由在这里是不合适的。尽管如果MQL是一种抽象的语言,我们也许可以借助于对关键词的铸造,它将上升到排名的第1位。 Roman 2020.10.08 22:04 #28683 A100:typename不是一个类型,它是一个关键字。在这种情况下,类型是T。转换是到一个类型,而不是到一个关键字哲学上的辩解在这里是不合适的。虽然,如果MQL是一种抽象的语言,我们也许可以把它投到关键词上,它就会上升到评级的第一位。 我明白tyename 不是一个类型。 但在这种情况下,我们得到了一个转变。 我们从一个常数中获得其类型。 也许这在语法上是不正确的?但它是有效的。 #define A '+' typename(A) A100 2020.10.08 22:36 #28684 Roman:我明白tyename 不是一个类型。 但在这种情况下,我们得到了一个转变。 从一个常数,我们得到它的类型。 也许这不是正确的语法?但它是有效的。 它是有效的,但不是你认为的那样。你没有得到一个类型,而是一个字符串。我想通过例子向你展示这一点,但我在下面得到一个错误。 但这并不意味着你是对的--只是编译器的另一个错误。 A100 2020.10.08 22:38 #28685 编译错误。 void OnStart() { Print(typename("ushort")); //(1) нормально Print(typename(typename('+'))); //(2) Error: 'typename' - unexpected token } (1)和(2)之间的区别是什么?亲爱的开发者--也许Roman 是对的,现在typename返回type?结果是预期的:字符串 Roman 2020.10.08 22:49 #28686 A100:它是有效的,但不是以你想象的方式。你没有得到一个类型,而是一个字符串。我想用一个例子来说明,但我得到了一个错误。 它怎么不是一种类型呢? 它是一个类型,不是一个字符串。 ushort不是一个字符串。 #define A '+' void OnStart() { Print(typename(A)); Print(typename("string")); } 2020.10.09 01:45:54.402 TestScript (MNQZ20,M1) ushort 2020.10.09 01:45:54.402 TestScript (MNQZ20,M1) string A100 2020.10.08 22:54 #28687 Roman:它怎么不是一种类型呢? 只是得到一个类型,而不是一个字符串。 Ushort不是一个字符串。 你得到的不是ushort,而是 "ushort"。你明白其中的区别吗? 如果不明白,请先阅读文档 再理解。 尽管如果能得到一条真正的ushort,那就太酷了! Roman 2020.10.08 22:59 #28688 A100:你得到的不是ushort,而是 "ushort"。你明白区别吗? 如果不明白,请阅读文件以了解 所以Print()已经把它打印 成 "ushort",并带有一个字符串字面。 这与它有什么关系?Typename返回的是一个类型名!这一事实本身就说明了这一点。 A100 2020.10.08 23:00 #28689 Roman:所以这已经把Print()打印成 "ushort "字符串字面。 这跟它有什么关系?Typename返回的是一个类型名!这一事实本身就说明了这一点。 你读过链接中的文档吗?那里也有一个例子。不幸的是,我的例子 失败了。 Roman 2020.10.08 23:02 #28690 A100:你读过链接上的文件吗? 这与模板有什么关系? 如果使用语法不是用于模板,在这种情况下。 1...286228632864286528662867286828692870287128722873287428752876...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你有一个语法错误--给出一个在括号里有(typename)的工作代码的例子。你还不如在括号里写上(OnStart)。
嗯,没有语法错误
typename(J)
但你已经认为这段代码是语法错误了吗?
(typename)J
当一个类型转换原则应该在这里起作用,而帮助允许这两种变体。
像这样,没有语法错误。
这算不算是一个语法错误?
当类型转换的原则应该在这里起作用,而帮助允许这两种情况。
typename不是一个类型,它是一个关键字。在这种情况下,类型是T。转换是到一个类型,而不是到关键字。
哲学上的理由在这里是不合适的。尽管如果MQL是一种抽象的语言,我们也许可以借助于对关键词的铸造,它将上升到排名的第1位。
typename不是一个类型,它是一个关键字。在这种情况下,类型是T。转换是到一个类型,而不是到一个关键字
哲学上的辩解在这里是不合适的。虽然,如果MQL是一种抽象的语言,我们也许可以把它投到关键词上,它就会上升到评级的第一位。
我明白tyename 不是一个类型。
但在这种情况下,我们得到了一个转变。
我们从一个常数中获得其类型。
也许这在语法上是不正确的?但它是有效的。
#define A '+' typename(A)
我明白tyename 不是一个类型。
但在这种情况下,我们得到了一个转变。
从一个常数,我们得到它的类型。
也许这不是正确的语法?但它是有效的。
它是有效的,但不是你认为的那样。你没有得到一个类型,而是一个字符串。我想通过例子向你展示这一点,但我在下面得到一个错误。
但这并不意味着你是对的--只是编译器的另一个错误。
(1)和(2)之间的区别是什么?亲爱的开发者--也许Roman 是对的,现在typename返回type?
结果是预期的:字符串
它是有效的,但不是以你想象的方式。你没有得到一个类型,而是一个字符串。我想用一个例子来说明,但我得到了一个错误。
它怎么不是一种类型呢?
它是一个类型,不是一个字符串。
ushort不是一个字符串。
它怎么不是一种类型呢?
只是得到一个类型,而不是一个字符串。
Ushort不是一个字符串。
你得到的不是ushort,而是 "ushort"。你明白其中的区别吗? 如果不明白,请先阅读文档 再理解。
尽管如果能得到一条真正的ushort,那就太酷了!
你得到的不是ushort,而是 "ushort"。你明白区别吗? 如果不明白,请阅读文件以了解
所以Print()已经把它打印 成 "ushort",并带有一个字符串字面。
这与它有什么关系?Typename返回的是一个类型名!这一事实本身就说明了这一点。
所以这已经把Print()打印成 "ushort "字符串字面。
这跟它有什么关系?Typename返回的是一个类型名!这一事实本身就说明了这一点。
你读过链接中的文档吗?那里也有一个例子。不幸的是,我的例子 失败了。
你读过链接上的文件吗?
这与模板有什么关系?
如果使用语法不是用于模板,在这种情况下。