Однажды автора данной статьи привлекла интересная особенность функции CryptDecode, а именно — возможность распаковывать переданный ей ZIP-массив. Этот модификатор был введен разработчиками торговой платформы MetaTrader 5 для того, чтобы можно было распаковывать ответ некоторых серверов, используя стандартную функцию WebRequest. Однако из-за...
struct A
{
int i;
double d;
};
template<typename T>
T f(int value)
{
T result;
return(result);
}
//+------------------------------------------------------------------+voidOnStart()
{
A a;
int i = 1;
a = f(i);
}
//+------------------------------------------------------------------+
struct A
{
int i;
double d;
};
template<typename T>
void f(int value,T &result)
{
T tmp;
result = tmp;
}
//+------------------------------------------------------------------+voidOnStart()
{
A a;
int i = 1;
f(i,a);
}
//+------------------------------------------------------------------+
是的,所有的MQL语法都会被丢弃在那里。目前,在新的构建下固定了源代码的编译。我将添加拉链。
可以将所有的文件层次放到沙盒中,不需要压缩。
可以将整个文件的层次结构放入沙盒中,而不需要拉链。
你可以,但需要将拉链作为一个选项。你是否有文章https://www.mql5.com/ru/articles/1971 中的来源,并改编成最新的编译器?
你可以,但作为一个选项的拉链会有需求。你是否有文章https://www.mql5.com/ru/articles/1971 中的来源,并改编成最新的编译器?
是的,我使用unzip。这里是 一个工作版本。
是的,我使用解压缩。这里是 一个工作版本。
我在压缩的例子中留下了垃圾。
拧到我的脚本上--同样的事情--似乎是在拉链库中。
PS。发现它在Dictionary.mqh中。
我留下的是垃圾,作为使用拉链工作的一个例子。
拧到我的脚本上--同样的事情--似乎是在拉链库中。
PS。发现它在Dictionary.mqh中。
有一种模板式的代码。这意味着我只是没有遇到问题,因为我只使用了部分功能。
为什么我不能做一个这样的模板?
模板不匹配
'f' - 不能应用模板
见 "f "的声明
'f' - 作为参考传递的参数,预期的变量
'f' - 作为参考传递的参数,预期的变量
我在存储库方面遇到了一点麻烦。它把一些文件发送到存储库,但有些文件什么都不做。
而且最重要的是,在\MQL5\文件夹中没有mql5.storage-文件可以删除它。
它现在在哪里?
为什么我不能做一个这样的模板?
因为你似乎对模板的工作方式有一个完全错误的想法。
a.i = f<int>(i);
你想要的 "奇迹 "是不会发生的。
为什么我不能做一个这样的模板?
因为模板只按参数输出类型,不按输出值输出。
因为你似乎对模板的工作方式有一个完全错误的想法。
你想要的 "奇迹 "不可能发生。
编译器是如何转换模板的,我可以想象,没有什么新东西,它的工作方式是一样的?
因为该模板只按参数输出类型,而不是按输出值输出。
我明白了,我还希望我忽略了什么。
好吧,这不是关键,它将通过参数工作