【问题标题】:Trying to TryParse in c++/clr but OUT is undefined尝试在 c++/clr 中尝试 TryParse 但 OUT 未定义
【发布时间】:2020-07-31 03:22:20
【问题描述】:

我正在尝试使用

       public: bool^ IsNumeric(Object^ Expression) {
           double^ retNum;
           bool^ isNum = Double::TryParse(Convert::ToString(Expression), System::Globalization::NumberStyles::Any, System::Globalization::NumberFormatInfo::InvariantInfo, out retNum);
           return isNum;
       }

但我得到一个错误:标识符 OUT 未定义 我不知道如何在 clr/c++ 中使用 OUT 谢谢

【问题讨论】:

  • 是的,我收到错误严重性代码描述项目文件行抑制状态错误 C2665 'System::Double::TryParse': 2 个重载都不能转换所有参数类型 Project1 C:\Users\ Tewni\source\repos\Project1\Project1\MyForm.h 410
  • System.NullReferenceException: '对象引用未设置为对象的实例。' retNum 为空。
  • 跟踪参考运算符是%,所以使用%retNum。并且 retNum 不应使用 ^ 声明。
  • 知道何时使用 ^ 帽子非常重要,在 C++/CLI 还不清楚的时候很难取得进展。 bool 和 double 是值类型,而不是对象类型,因此这些类型的变量不能用 ^ 声明。有了这顶帽子,它就变成了值的盒装副本(后台是 System.ValueType),编译器很可能会严重丢失它的弹珠。

标签: c++-cli clr


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 2020-12-07
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-05
相关资源
最近更新 更多