class CBar { };
class CFoo : public CBar { };
voidOnStart()
{
CBar bar;
//--- динамическое приведение типа указателя *bar к указателю *foo разрешено
CFoo *foo = dynamic_cast<CFoo *>(&bar); // критической ошибки выполнения не возникнет Print(foo); // foo=NULL //--- попытка явного приведения ссылки объекта типа Bar к объекту типа Foo запрещено
foo=(CFoo *)&bar; // возникнет критическая ошибка выполненияPrint(foo); // эта строка не будет выполнена
}
触发了默认的复制操作符。
如果不难,我在哪里可以读到?
你能告诉我如何使用MQL4/5从电子邮件或短信中读取信息吗?例如,我收到信息-信号到电子邮件,我的专家顾问阅读它并开仓/平仓。
触发了默认的复制操作符。
我甚至在文档中发现了这一点(注意从底部第三行)。
https://www.mql5.com/ru/docs/basis/types/casting
我记得有可能复制(以memcpy方式)到简单的结构,但我的结构并不简单。
我记得有可能复制(哑巴memcpy风格)到简单的结构中,但我没有简单的结构。
MQL5已经改变。
MQL5已经改变。
关于交易、自动交易系统和测试交易策略的论坛
新版MetaTrader 5 build 1640:创建并测试您自己的金融工具
MetaQuotes软件公司。, 2017.07.19 18:03
新版MetaTrader 5平台build 1640:创建和测试您自己的金融工具
隐式运算符用心复制对象。
如果有必要,你可以覆盖该行为,并使用重载 创建你自己的变体,而不是隐式复制操作符。
fxsaber
谢谢你,现在明白了。不知道该高兴还是不高兴。与旧代码的兼容性被打破。对于这样的重大变化,以某种方式强制激活新功能是一个好主意(通过编译开关或#pragma)。
例如,我的auto_ptr。
现在发现auto_ptr可以在新的代码中被复制(除非复制操作符/构造器被沉默),这将导致一个指针的多次删除。
文件MQL5\Include\Controls\SpinEdit.mqh
intMaxValue(void) const { return(m_min_value); }
我如何下载MT4?
我下载了mt4setup.exe文件,安装了它,但平台安装的是mt5。我在哪里可以得到mt4?
我下载了mt4setup.exe文件,安装了它,但平台安装的是mt5。我在哪里可以得到mt4?