Posts: 87
Threads: 68
Joined: Nov 2004
Reputation:
0
Does rule #3-2-3 prohibit the use of forward declarations in separate files? For example, if a file, a.h, contained "class B;" and another file, c.h, #include'd a.h and contained a definition for class D which contained "friend class B;", would the rule permit such?
Posts: 5
Threads: 3
Joined: Jun 2009
Reputation:
0
I am interested by the answer to this question. Should forward declaration such as
class a_class;
be allowed by rule 3-2-3 anywhere in source files?
Could misra reply to this please?
<t></t>
Posts: 252
Threads: 1
Joined: Jun 2008
Reputation:
6
This rule does not preclude the use of friend or forward reference statements, but these must be in a separate header file.
A future edition may reconsider this point
Posted by and on behalf of
the MISRA C++ Working Group
Posts: 87
Threads: 68
Joined: Nov 2004
Reputation:
0
I don't understand. Are you saying the "one and only one file" requirement does not apply to friend declarations and forward references?
Posts: 252
Threads: 1
Joined: Jun 2008
Reputation:
6
This rule does not preclude the use of friend or forward reference statements, but these must be in a separate header file.
A future edition may reconsider this point
The second question, your examples are compliant - the objective is to ensure that class definitions are only made in one file (and not repeated in multiple translation units)"
Posted by and on behalf of
the MISRA C++ Working Group