1. SPM: ----------------- hvordan fortæller jeg koden, hvis bruger kommer fra: void tal1 så skal den dit og dat... og hvis brugeren kommer fra: void tal2 så skal den dit og dat...osv.. jeg tager brugeren til det sted jeg vil ved at skrive: tal1(); eller nu tal2();
2.SPM ----------------- hvis nu brugeren trykker på pil op, og lad sit finger på tasten så begynder computer med at sige biiiiiiiiiiiiiiiiii...hvordan kan jeg forhindre det, altså at det ik sker ??
Jeg formoder at du har en tredie funktion test(), som bliver kaldt af både tal1() og tal2() - og at du har behov for at vide fra hvilken af den to du er blevet kaldt.
Den simple løsnming er selvfølgelig at overføre navnet på funktionen som en ekstra parameter:
int res; void tal1(void) { res = test("tal1"); } void tal2(void) { res = test("tal2"); } int test(char *calledFrom) { if (strcpy(calledFrom, "tal1") == 0) return 2; return 1; }
Eller varianter over samme tema. Lidt mere elegant er overførsel af selv funktionspointeren:
void tal1(void) { test(tal1); } void tal2(void) { test(tal2) } void test((void *)func(void)) { if (func == tal1) /* Gør noget */; else /* Gør noget andet. */; }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.