...
Code Block | ||||
---|---|---|---|---|
| ||||
class S { int v; public: S() : v(12) {} // Non-trivial constructor void f(); }; void f() { // ... goto bad_idea; // ... S s; // Control passes over the declaration, so initialization does not take place. bad_idea: s.f(); } |
Compliant Solution
...
Code Block | ||||
---|---|---|---|---|
| ||||
class S { int v; public: S() : v(12) {} // Non-trivial constructor void f(); }; void f() { S s; // ... goto bad_idea; // ... bad_idea: s.f(); } |
Noncompliant Code Example
...