Suchergebnisse für Anfrage "one-definition-rule"

4 die antwort

Gibt es eine Möglichkeit, Inline-Funktions-ODR-Verstöße zu erkennen?

So habe ich diesen Code in 2 separaten Übersetzungseinheiten: // a.cpp #include <stdio.h> inline int func() { return 5; } int proxy(); int main() { printf("%d", func() + proxy()); } // b.cpp inline int func() { return 6; } int proxy() { return ...

1 die antwort

Wann wird in C ++ 14 eine Variable odr verwendet?

Der C ++ 14-Entwurf (N3936) besagt in §3.2 / 3: Eine Variable x, deren Name als potenziell ausgewerteter Ausdruck ex vorkommt, wird mit odr verwendet, es sei denn, die Umwandlung von lWert in rWert (4.1) in x ergibt einen konstanten Ausdruck ...

4 die antwort

Haben unterschiedliche Funktionen unterschiedliche Adressen?

Betrachten Sie diese beiden Funktionen: void foo() {} void bar() {}ist es garantiert, dass&foo != &bar? Ähnlich template<class T> void foo() { }ist es garantiert, dass&foo<int> != &foo<double>? Es gibt zwei Linker, die ich kenne, die die ...

TOP-Veröffentlichungen

2 die antwort

Wie würde die Verwendung von unbenannten Namespaces in Headern zu ODR-Verstößen führen?

Im Google C ++ Style Guide wird dieNamespaces [http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Namespaces] Abschnitt besagt, dass "Die Verwendung unbenannter Namespaces in Header-Dateien kann leicht zu Verstößen gegen die C ++ One ...

1 die antwort

GoogleTest PrintTo wird nicht für eine Klasse aufgerufen

Ich habe ein seltsames Problem damit, Googletest zu veranlassen, eine bestimmte Klasse so zu drucken, wie ich es mit PrintTo möchte. Die Klasse ist ein sehr einfacher 2D-Punkt, sie befindet sich in einem Namespace und die PrintTo-Funktion ...

2 die antwort

Linear Regression mit scipy.ODR schlägt fehl (Nicht voller Rang bei Lösung)

so versuchte eine lineare Regression mit scipy.odr. Es ist jedoch kläglich gescheitert. scipy.odr hat bereits für mich gearbeitet und ich sehe keine Fehler in meinem Code. Der einzige Grund, den ich mir vorstellen kann, ist, dass die Neigung ...

2 die antwort

Was darf ich mit einem statischen, constexpr, in der Klasse initialisierten Datenelement tun?

Dies ist wahrscheinlich eine etwas ungewöhnliche Frage, da hier eine ausführlichere Erläuterung einer kurzen Antwort verlangt wirdeine andere Frage und einig...

4 die antwort

Eine Definitionsregel in c ++

Nach dem c ++ Standard: Keine Übersetzungseinheit darf mehr als eine Definition einer Variablen, Funktion, eines Klassentyps, eines Aufzählungstyps oder einer Vorlage enthalten. //--translation_unit.cpp--// int a; void foo() { int a; //Second ...

4 die antwort

Kann ein Lambda in Header-Dateien die ODR verletzen?

Kann Folgendes in eine Header-Datei geschrieben werden: inline void f () { std::function<void ()> func = [] {}; }ode class C { std::function<void ()> func = [] {}; C () {} }; Ich denke, in jeder Quelldatei kann der Lambda-Typ unterschiedlich ...

1 die antwort

C ++ - Member-Funktion außerhalb der Template-Klasse, aber im Header definieren

Ich habe eine einfache Klassenvorlage mit einer Mitgliedsfunktion definiert. Es wird außerhalb der Klasse mit einer zusätzlichen (expliziten) Spezialisierung definiert, die auch außerhalb der Klasse definiert wird. Alles in einer Headerdatei. ...