|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
HotAcid Super JLI'ler
Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 28.02.2004, 12:45 Titel: Problem mit Konstruktor |
|
|
Hallo,
habe ein "kleines" Problem mit meinem Konstruktor: und zwar werden die Werte, die ich hier meinen Variablen zuweise, nicht übernommen...
Code: |
class Layer
{
double d;
//...
};
Layer::Layer(int neurons, int pre, double(*f)(double), double(*derivativeF)(double))
{
d = 14;
// ...
}
// Standardkonstruktor
Layer::Layer()
{
d = 5;
}
const MathVector& Layer::calculateOutput(const MathVector& input)
{
cout << "d = " << d << endl;
// ...
}
|
Als Ausgabe kommen ziemlich seltsame Werte wie z.B. d = 5.09279e-313, also wurde die Variable scheinbar nicht richtig initialisiert. Hat jemand ne Idee, woran das liegen könnte? Braucht ihr evtl den kompletten Konstruktor? Mit der Variable d mache ich sonst nichts mehr, die habe ich hier nur als Test eingebaut.
dankeschön!!!
Felix _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
|
HotAcid Super JLI'ler
Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 28.02.2004, 15:30 Titel: |
|
|
Mit dem Konstruktor hats nichts zu tun, das weiß ich inzwischen. der Fehler liegt genau hier:
Code: | MLPArr = new MLP[num_mlp];
for(int i=0; i<num_mlp; i++)
{
MLPArr[i] = MLP(eps, layer[i], neurons[i]);
cout << "MLPArr[" << i << "] = " << MLPArr[i].getThreshold(1) << endl;
}
cout << "MLPArr[1] = " << MLPArr[1].getThreshold(1) << endl;
|
Dieses erzeugt folgende Ausgabe:
Code: | MLPArr[0] = < 0.0994801 -0.0540728 -0.0110919 >
MLPArr[1] = < -0.0476603 -0.0435009 -0.00381282 >
MLPArr[2] = < -0.0663778 -0.0868284 -0.0362218 >
MLPArr[1] = < 0 5.03675e-270 10.1143 10.1144 10.1144 10.1145 10.1145 10.1146 10.1147 10.1147 10.1148 10.1148 10.1149 10.115 10.115 10.1151 10.1151 > |
In der Schleife ist noch alles ok, au'ßerhalb der Schleife nicht mehr. hat jemand Ideen?
dankeschön!
Felix _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 28.02.2004, 21:26 Titel: |
|
|
Wo steht denn der Code, den du gepostet hast?
Und welche Schleife meinst du?
Ich könnte mir vorstellen, dass du irgendwie auf den falschen Speicher zugreifst _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
HotAcid Super JLI'ler
Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 28.02.2004, 21:59 Titel: |
|
|
der Fehler liegt vermutlich an einer ganz anderen Stelle, aus - mir noch etwas unerklärlichen Gründen - wird das Obejkt viel zu früh wieder zerstört, so dass auf jeden Fall auf falschen Speicher zugegriffen wird. Habe schon ein paar Tipps bekommen,w erde das alles morgen mal in Ruhe austesten und mich dann evtl. nochmal melden
cu Felix _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
|
HotAcid Super JLI'ler
Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 29.02.2004, 10:53 Titel: |
|
|
Alles klar, Problem gelöst. Es lag daran, dass ich an einer Stelle eine flache Kopie erzeugt habe, die am Ende des Schleifenrumpfes zerstört wurde. Anschließend gibt es logischerweise Probleme beim Zugriff...
cu Felix _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|