kake_fisk Skrevet 28. mars 2008 Del Skrevet 28. mars 2008 (endret) Kan jeg bruke num1 og num2 flere ganger? export double add(double num1, double num2) { return (double)num1+num2; } export double min(double num1, double num2) { return (double)num1-num2; Hvis det går, er det noen argumenter mot å bruke det? Endret 28. mars 2008 av kake_fisk Lenke til kommentar
JeffK Skrevet 28. mars 2008 Del Skrevet 28. mars 2008 Kan jeg bruke num1 og num2 flere ganger? export double add(double num1, double num2) { return (double)num1+num2; } export double min(double numb1, double numb2) { return (double)num1-num2; Hvis det går, er det noen argumenter mot å bruke det? Ja, du kan(siden de har forskjellig scope). PS. Det er ikke noe poeng i å bruke casting. num1 er allerede double. Lenke til kommentar
GeirGrusom Skrevet 28. mars 2008 Del Skrevet 28. mars 2008 Nei, faktisk vil jeg oppfordre deg til å bruke samme variabelnavn flerer ganger, ihvertfall så lenge variabelen har samme funksjon. Det gjør koden mer konsekvent og enklere for andre å forstå. Men du burde ha intelligente navn som forteller litt om hva variabelen brukes til. Lenke til kommentar
kake_fisk Skrevet 28. mars 2008 Forfatter Del Skrevet 28. mars 2008 Så jeg burde bruke num1, num2 i hver code block? Men siden det er en dll, det vil vell ikke forandre på de andre da? Foresten, fikk error med minus... export double min(double numb1, double numb2) 16 G:\gm\gm7\Examples\HypotenuseDLL\MathDLL.cpp expected unqualified-id before "double" 16 G:\gm\gm7\Examples\HypotenuseDLL\MathDLL.cpp expected `)' before "double" Lenke til kommentar
GeirGrusom Skrevet 28. mars 2008 Del Skrevet 28. mars 2008 Casting er unødvendig, dessuten mangler du en avsluttende krøllparantes. Lenke til kommentar
kake_fisk Skrevet 28. mars 2008 Forfatter Del Skrevet 28. mars 2008 hva er casting? (skippa over den delen på tutorialen.. ) og hva er krøllparantes? Lenke til kommentar
GeirGrusom Skrevet 28. mars 2008 Del Skrevet 28. mars 2008 (double) <- Casting } <- krøllparantes Lenke til kommentar
kake_fisk Skrevet 28. mars 2008 Forfatter Del Skrevet 28. mars 2008 (endret) okay, med den casting greia... skal jeg fjerne double eller skal jeg fjerne parantes? Edit: jeg har 2 krøllparanteser.. //MathDLL.cpp #include "dll.h" #include <windows.h> #include <cmath> export double hyp(double number1, double number2) { return sqrt(number1*number1+number2*number2); } export double add(double num1, double num2) { return (double)num1+num2; } export double min(double numb1, double numb2) { return (double)numb1-numb2; } Endret 28. mars 2008 av kake_fisk Lenke til kommentar
JeffK Skrevet 28. mars 2008 Del Skrevet 28. mars 2008 (endret) Casting omgjør en type til en annen(der det gir mening): (ny_type)variabel_av_gammel_type f.eks. int(heltall) til double(flyttalll): int x; double d; d = (double)x; Dette er eksplisitt casting. Hvis man skirver d = x; vil det bli gjort et implisitt cast. Noen typer går ikke ann å caste, ettersom det ikke gir mening, f.eks. string til int: string s = "programmeringergøy" int x = (int)s; Dette gir en feil under kompilering. Det du gjør i koden din er å konvertere(caste) fra double til double, som jo ikke er nødvendig. Det holder å skrive: export double min(double numb1, double numb2) { return numb1-numb2; } Du kan også droppe export. export har bare med templates å gjøre. Dette keywordet er lite brukt, og mange compilere har ikke implementert det. Tips: Ikke gjør noe uten å vite hvorfor. Endret 28. mars 2008 av JeffK Lenke til kommentar
GeirGrusom Skrevet 28. mars 2008 Del Skrevet 28. mars 2008 Bare kall alle parameterne f.eks. num1 og num2 istedet for å gi dem forskjellige navn. Men når man setter en datatype i parantes, konverterer man verdien til den datatypen; men siden du allerede kun bruker double her, så er det ikke nødvendig, så fjern hele parantesen. return num1 - num2; Lenke til kommentar
kake_fisk Skrevet 28. mars 2008 Forfatter Del Skrevet 28. mars 2008 okay, fiksa det nå, men får fortsatt error :\ Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå