Sto sviluppando un'applicazione audio (in C++) e ho molte funzioni che si chiamano l'una o l'altra che prendono il numero di frame (cioè 1 mono o 2 campioni float stereo) o il numero grezzo di campioni ...Prevenire i cast automatici con numeri interi
È sempre più difficile tenere traccia della semantica di ogni funzione (campioni o frame?) e quando mult o div per nChannels, quindi mi piacerebbe in qualche modo fare un typedef samples_t e frames_t (a unsigned int) e farmi aiutare dal compilatore ...
C'è un modo semplice per avere una conversione implicita da frames_t in samples_t essere contrassegnata come un errore in C++?
Per C++, è possibile trovare questo utile: http://www.boost.org/doc/libs/1_54_0/doc/html/boost_units/Quick_Start.html. –
possibile duplicato di [Enforce strong type checking in C (type strictness for typedefs)] (http://stackoverflow.com/questions/376452/enforce-strong-type-checking-in-c-type-strictness-for-typedefs) o [Esiste un buon modo per forzare l'incompatibilità di tipo in C?] (http://stackoverflow.com/questions/3140035/is-there-a-good-way-to-force-type-incompatibility-in-c). –
@OliCharlesworth: È possibile utilizzare «release» al posto della versione Boost che porta sempre alla documentazione per l'ultima versione stabile (modo consigliato) –