我从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未声明。
答案 0 :(得分:7)
objective-c是c的超集,而不是c ++,因此不支持static_cast。你可以使用c风格的演员:
[pPacket SetHeaderSequenceNumber:(char)(m_transmitSequenceNumber + ASCII_ZERO)];
答案 1 :(得分:4)
Objective C是C而不是C ++的超集。 static_cast是一个C ++运算符,所以Objective C不能使用它。
然而,Objective C ++确实理解C ++。要使用此命令将.m文件重命名为.mm,Xcode将把它编译为Objective C ++