|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2004
Città: goettingen
Messaggi: 275
|
[C++]costruttori
premetto che potete pure ignorare i tipi che sono definiti da una libreria a elmenti finiti perché la mia domanda è puramente relativa al funzionamento dei costruttori in C++
quale potrebbe essere la differenza fra: MyClass::MyClass(Mesh& mesh) : mesh(mesh), astress() { Function S(mesh, s, astress); } e: MyClass::MyClass(Mesh& mesh) : mesh(mesh), astress() S(mesh, s, astress) { } avendo dichiarato: Function S; Mesh& mesh; Vector s; FooBilinearForm astress; nel secondo caso ho un segmentation fault, nel primo no.. grazie dell'aiuto!
__________________
La prima necessità dell'uomo è il superfluo. Albert Einstein |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Hmm segmentation fault e` un po` generico direi... Che compilatore usi? Immagino gcc?
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Oct 2004
Città: goettingen
Messaggi: 275
|
Quote:
compilo sotto ubuntu e uso g++
__________________
La prima necessità dell'uomo è il superfluo. Albert Einstein |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
gcc fa scherzetti ogni tanto...
Così a prima occhiata penso potrebbe essere la initialiser list che fa casino (mesh nominata due volte).. Prova anominarle diversamente magari. Altra cosa... Le variabili ufficialmente non sono inizializzate nello stesso ordine in cui appaiono nella initialiser list, ma nell'ordine in cui vengono dichiarate nella classe.. Quindi è possibile che effettivamente tu stia inizializzando S con qualcosa di non inizializzato.. |
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Oct 2004
Città: goettingen
Messaggi: 275
|
Quote:
__________________
La prima necessità dell'uomo è il superfluo. Albert Einstein |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:39.



















