Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

error:static_cast undeclared->Objective C

Tags:

objective-c

I was porting from cpp to Objective C.

Objective C:

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

cpp:

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

error:static_cast undeclared.

like image 371
spandana Avatar asked Apr 21 '26 11:04

spandana


2 Answers

objective-c is a superset of c, not c++ so static_cast is not supported in it. You can just use c-style cast:

[pPacket SetHeaderSequenceNumber:(char)(m_transmitSequenceNumber + ASCII_ZERO)];
like image 186
Vladimir Avatar answered Apr 23 '26 01:04

Vladimir


Objective C is a superset of C not C++. static_cast is a C++ operator so Objective C cannot use this.

However there is Objective C++ which does understand C++. To use this rename your .m file to .mm and Xcode will compile this as Objective C++

like image 41
mmmmmm Avatar answered Apr 23 '26 03:04

mmmmmm