== Why is this an issue?

Data members and member functions cannot be defined as external, although entire objects can. When a member is declared as ``++extern++``, the compiler simply ignores the keyword, making it both extraneous and confusing.


=== Noncompliant code example

[source,cpp]
----
class C {
  void fun();
};

extern void C::fun() { // Noncompliant
}
----


=== Compliant solution

[source,cpp]
----
class C {
  void fun();
};

void C::fun() {
}
----

== Resources

* {cpp} reference - https://en.cppreference.com/w/cpp/language/storage_duration[Storage class specifiers]

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Remove this "extern" keyword, which is ignored by the compiler.


=== Highlighting

``++extern++``


endif::env-github,rspecator-view[]
