【问题标题】:error:static_cast undeclared->Objective C错误:static_cast undeclared->Objective C
【发布时间】:2011-05-17 12:54:28
【问题描述】:

我正在从 cpp 移植到 Objective C。

目标 C:

[pPacket SetHeaderSequenceNumber:static_cast<char>(m_transmitSequenceNumber + ASCII_ZERO)];

cpp:

pPacket->SetHeaderSequenceNumber(static_cast <char>(m_transmitSequenceNumber + ASCII_ZERO));

错误:static_cast 未声明。

【问题讨论】:

标签: objective-c


【解决方案1】:

objective-c 是 c 的超集,而不是 c++,因此它不支持 static_cast。你可以只使用 c 风格的演员:

[pPacket SetHeaderSequenceNumber:(char)(m_transmitSequenceNumber + ASCII_ZERO)];

【讨论】:

    【解决方案2】:

    Objective C 是 C 而不是 C++ 的超集。 static_cast 是一个 C++ 运算符,因此 Objective C 不能使用它。

    但是,有一个支持 C++ 的 Objective C++。要使用此方法,请将您的 .m 文件重命名为 .mm,Xcode 会将其编译为 Objective C++

    【讨论】:

      猜你喜欢
      • 2017-06-01
      • 2023-04-04
      • 1970-01-01
      • 2015-12-10
      • 2012-11-20
      • 2011-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多