ошибка: static_cast undeclared-> Цель C - PullRequest
1 голос
/ 17 мая 2011

Я переносил из cpp в Objective C.

Objective C:

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

cpp:

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

ошибка: static_cast undeclared.

Ответы [ 2 ]

7 голосов
/ 17 мая 2011

target-c является надмножеством c, а не c ++, поэтому static_cast в нем не поддерживается.Вы можете просто использовать кастинг в стиле c:

[pPacket SetHeaderSequenceNumber:(char)(m_transmitSequenceNumber + ASCII_ZERO)];
4 голосов
/ 17 мая 2011

Objective C является надмножеством C, а не C ++. static_cast является оператором C ++, поэтому Objective C не может его использовать.

Однако существует Objective C ++, который понимает C ++. Чтобы использовать это, переименуйте ваш файл .m в .mm, и Xcode скомпилирует это как Objective C ++

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...