MISRA.DECL.EXCPT.SPECFunction is declared with different exception specifications. MISRA-C++ Rule 15-4-1 (required): If a function is declared with an exception-specification, then all declarations of the same function (in other translation units) shall be declared with the same set of type-ids.[NDR 15.4(2)] RationaleIt is undefined behaviour if a function has different exception-specifications in different translation units. Example// Translation unit A void foo( ) throw ( const char_t * ) { throw "Hello World!"; } // Translation unit B // foo declared in this translation unit with a different exception // specification extern void foo ( ) throw ( int32_t ); // Non-compliant - // different specifier void b ( ) throw ( int32_t ) { foo ( ); // The behaviour here is undefined. } |