错误:static_cast unclared->目标C.

时间:2011-05-17 12:54:29

标签: objective-c

我从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未声明。

2 个答案:

答案 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 ++