Нет, это совершенно неверно. Вы можете написать структуру на C ++, полностью совместимую с C, и скомпилировать код на C ++, предоставив ей интерфейс на C.
После этого вы могли бы написать программу, написанную на C, использовать структуру и вызывать функции из библиотеки, и никаких проблем не возникнет.
На самом деле многие библиотеки C ++ манипулируют структурами данных C и взаимодействуют с C.
Вы можете, хотя это и не рекомендуется, сделать это в своей структуре, и она все еще переносима на C.
struct X
{
#ifdef __cplusplus
private:
#endif
// members variables
#ifdef __cplusplus
public:
// methods
#endif
};
но переносимо, если и только если ни одна из функций-членов не является виртуальной. Не уверен, что это именно то, что статья подразумевает под «боксом».