Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 13.08.2009, 15:47 Titel: C++ nach FB - Syntaxfrage |
|
|
Hi zusammen. Wie würdet ihr diese C++ Zeile nach FB übersetzen?
Es verwirrt mich etas das ein "&" Symbol HINTER dem Variablentyp steht.
Code: | TSXAPIFN CtsxVector3f& tsxAddVec3f( CtsxVector3f& u, const CtsxVector3f& v ); |
Normalerweise steht dieses "&" ja hinter der Variablen und bezeichnet eine Referenzierte Variable. Also statt "ByVal u as CtsxVector3f" wäre "ByRef u as CtsxVector3f" richtig.
Aber was ist mit dem Rückgabetyp? Ist der dann auch ne Referenz oder ein Pointer???? _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 13.08.2009, 15:57 Titel: |
|
|
Zitat: |
Normalerweise steht dieses "&" ja hinter der Variablen und bezeichnet eine Referenzierte Variable. |
Nein, Es steht hinter dem Datentyp, das ist schon richtig so. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 13.08.2009, 15:58 Titel: |
|
|
Referenz und Pointer sind das gleiche...
Code: | TSXAPIFN CtsxVector3f& tsxAddVec3f( CtsxVector3f& u, const CtsxVector3f& v ); |
Inetwa so:
Code: | tsxAddVec3f (u as CtsxVector3f Ptr, v as CtsxVector3f Ptr) as CtsxVector3f Ptr |
/EDIT
Jojo war schneller. |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 13.08.2009, 16:00 Titel: |
|
|
Das heißt es ist Wurst ob ich das per ByVal oder ByRef übergebe?
Warum differenzieren die das dann in C++ ??? _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 13.08.2009, 19:58 Titel: |
|
|
PTR. |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 13.08.2009, 20:07 Titel: |
|
|
Ja, jetzt wo du es sagst könnt ich mir auch mir der flachen Hand vor die Stirn hauen - nix für ungut ...
DANKE _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 14.08.2009, 00:37 Titel: |
|
|
So, ich hätte noch eine weitere Frage.
Wie übersetzt man das hier?
Code: | static float filter_array[] = { 0.0f , 1.0f, 0.0f,
1.0f , 2.0f, 1.0f,
0.0f , 1.0f, 0.0f};
|
_________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 14.08.2009, 00:54 Titel: |
|
|
Code: | dim as single filter_array(...) = {0.0, 1.0, 0.0, 1.0, 2.0, 1.0, 0.0, 1.0, 0.0} |
Sollte so gehen. Falls du noch die "aktuelle" Stable-Version vom letzten Jahr verwendest, musst du "0 to 8" statt "..." verwenden. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 14.08.2009, 01:10 Titel: |
|
|
Funzt - danke _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 15.08.2009, 18:35 Titel: |
|
|
Hi, ich schon wieder. Diesmal gehts um was ähnliches wie oben. Folgende Definition:
Code: | Type CtsxTxmx3f
matrix(0 To 3-1, 0 To 4-1) As Single
End Type |
Wie sieht dafür die Dimensionierung und gleichzeitige Belegung aus? Ich hab es so versucht - das mag FB aber nicht compilieren. Auch mit "(" und Kombinationen hab ich es schon versucht.
Code: | Dim Shared wdgSampleTrans(0 To 1-1) As CtsxTxmx3f => { {0.17398f, 0.0f, 0.0f, 0.0f}, {0.0f, 0.190981f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0744249f, 0.0308843f } } |
_________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4688 Wohnort: ~/
|
Verfasst am: 15.08.2009, 18:42 Titel: |
|
|
So weit ich weiß, kommst du bei der automatischen Belegung von FB-UDTs um einen eigenen CONSTRUCTOR-Befehl nicht herum. Außer du willst TYPE (Funktion) verwenden. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 15.08.2009, 18:50 Titel: |
|
|
Tja, wenn ich jetzt wüsste wovon du redest
Könntest du mir netter Weise mal Beispiele aufzeigen - danke. _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4688 Wohnort: ~/
|
Verfasst am: 15.08.2009, 18:56 Titel: |
|
|
Code: | type testtyp
as integer x, y
end type
dim as testtyp test = type<testtyp>(3, 5)
print test.x, test.y |
bzw.
Code: | type testtyp
as integer x, y
declare constructor(x as integer, y as integer)
end type
constructor testtyp(x as integer, y as integer)
this.x = x
this.y = y
end constructor
dim as testtyp test = testtyp(3, 5)
print test.x, test.y |
Bei Deinem Typ dann halt entsprechend angepasst. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 15.08.2009, 19:19 Titel: |
|
|
So versuche ich es mal - vielen Dank _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 15.08.2009, 19:37 Titel: |
|
|
Und schon hab ich das nächste...was ist das denn bitte:
Code: | bBox->minbounds = bBox->maxbounds = *vecs++; |
a = b = c oder was???? _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 15.08.2009, 20:55 Titel: |
|
|
richtig. von rechts nach links lesen: der pointer wird um eins erhöht. dieser wert wird dann den beiden bBox-Variablen zugewiesen. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 16.08.2009, 15:50 Titel: |
|
|
So, ich hab schon wieder mal ne Frage. Diesmal geht es um diese Zeile hier:
Code: | yrot = ( direction.y < 0 ) ? 180 : 0 |
wie übersetzt man diesen Ausdruck?
Danke schonmal _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
|
Nach oben |
|
 |
E-P-S

Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 16.08.2009, 16:19 Titel: |
|
|
Vielen Dank _________________ Man kann sich öfter als zweimal im Leben halb tot lachen. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
|
Nach oben |
|
 |
|