错误、漏洞、问题 - 页 2871

 
A100:

输出将是准确的字符串字 面。这就是证据,根本就没有印刷品。

我不相信编译器的警告 !

'+'不是一个字符串 !这是一个字符类型,在mql ushort 2字节

dot。

这更可能是警告描述中的一个错误。

 
Roman:

我不相信编译器的警告!
' 这不是字符串!它是一个字符类型!'。

这更可能是警告描述中的一个错误。

这不是一个信仰和猜想的问题--我们需要证明:一个没有打印的例子证明typename返回的是一个非字符串的字面意义,有吗?当有的时候,让我们继续。

 
A100:

这不是一个信仰和猜想的问题--我们需要证明:是否有一个没有打印的例子证明返回的是一个非字符串字面?当有的时候,让我们继续。

虽然typename返回的是一个名字,这就是为什么它返回的是字符串
,也许,但这有什么区别呢?
你得到了类型名称,你得到了它。 我不明白你想向我证明什么?
typename返回一个类型字符串,从逻辑上讲,它返回一个名字
我的意思是,它返回的是类型名称,也就是说,类型是用字母写的))
完全没有想到它的回报是什么类型的,而你却紧紧抓住它。
总之,争论这个问题没有意义。
 
Roman:
虽然typename 返回的是一个名字,所以它返回的字符串
,也许是这样,但这有什么区别呢?

你似乎已经过了否认的阶段......。认识的阶段开始了。我让你去吧。

 
A100:

你似乎已经过了否认的阶段......。认识的阶段开始了。我让你去吧。

我再次强调,我并没有说这种类型本身会回来,我说的是这种类型的名称会回来。
什么类型的返回NAME,我在我们的谈话中完全没有想过这个问题。
这就是为什么不涉及实现阶段的原因;如果名字是一个字符串,就很清楚它是一个字符串。
但也有mql ushort,该死的,所以我怀疑,在typename中会塞进一个12字节的字符串。
如果类型本身被返回,那将是一个喧宾夺主的事情 ))
On the fly could be defined variables ))
我不知道这在编译的程序中是否可行,事实上,这是通常的内存分配

 
A100:

这是在抽象语言中,但MQL没有抽象性--据说它不能与速度相结合

下面是另一种检查方法,12字节为字符串类型

Print(sizeof(typename()));
 
Roman:

下面是另一种检查方法,12字节为字符串类型

更意味着文件是正确的(但这也是 间接证据)。

 
我毕竟欺骗了这个系统。

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

A100, 2020.10.09 00:38

编译错误。
void OnStart()
{
    Print(typename("ushort"));      //(1) нормально
    Print(typename(typename('+'))); //(2) Error: 'typename' - unexpected token
}

双重类型名

template<typename T>
T f( T ) { return typename(T); }
void OnStart()
{
        Print(f(typename('+')));
}

结果:字符串

所以是直接证明,而不是间接 证明。
 
A100:

这就更说明了文件的正确性。

是的,在给模板的文档中,一切描述都是正确的。
typename是为模板设计的,所以它返回类型字符串
你只是不明白,我最初写的是返回类型NAME,而不是TYPE名称 ))
而你开始向我解释返回字符串)
我很疑惑,我怀疑,认为ushort可以返回。
但是没有,还是有一个字符串。

 
Roman:

当然,这是我的错,我没有读过文件,而且我编了这个帖子

(typename)J

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

罗曼, 2020.10.07 17:20

是的,这也是一个编译错误

#define  J '+'          // char

void OnStart()
{
    Print((typename)J);
}
#define  J '+'          // char

void OnStart()
{
    Print((typename)(J));
}