INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Char* Compilerfehlermeldung?
09.02.2015, 10:36
Beitrag #1
Char* Compilerfehlermeldung?
Hallo Leute,

komme hier nicht weiter. Habe einen Codeschnipsel übernommen, aber ich verstehe die Funktion wohl nicht ganz. Vielleicht kann mir einer helfen?

in meinem Programm steht folgendes:
Code:
int number = 0172975845;
dialNumber(number);

Dann habe ich ein .h-File welches mit include eingebunden ist.
Dort steht folgendes (ist nicht von mir)
Code:
void dialNumber(char * number);

void dialNumber(char * number)
{
Falcom.print("ATD");  //ATD is the command to Dial a Number
Falcom.print(number); //Print the Number
Falcom.write(0x3b);  //Put a ; at the end
Falcom.write(0x0d); // Give an Enter to confirm the command
delay(modemDelay);
}

Ich habe ein altes FALCOM-GSM-Modem, mit dem ich SMS senden will und Telemetriedaten mir übertragen lassen will. Was ist da falsch?
Warum wird die Funktion nicht aufgerufen?

Der Compiler meldet:
erster_Test_headerfile.ino:27: error: invalid conversion from 'int' to 'char*'
erster_Test_headerfile.ino:27: error: initializing argument 1 of 'void dialNumber(char*)'
Error compiling

Und warum steht oben das void dialNumber nocheinmal mit ; am Ende?

Vielen Dank schon mal vorab.
Gruß, Andreas
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2015, 11:43
Beitrag #2
RE: Char* Compilerfehlermeldung?
(09.02.2015 10:36)DL1AKP schrieb:  in meinem Programm steht folgendes:
Code:
int number = 0172975845;
dialNumber(number);
Das sollte so gehen:
Code:
char number[] = "0172975845";
dialNumber(number);
Erstens geht int nur von -2^15 bis 2^15-1. Zweitens braucht dialNumber eine Zeichenkette und kein int.

Zitat:Dann habe ich ein .h-File welches mit include eingebunden ist.
Dort steht folgendes (ist nicht von mir)
Code:
void dialNumber(char * number);

void dialNumber(char * number)
{
Falcom.print("ATD");  //ATD is the command to Dial a Number
Der Compiler meldet:
erster_Test_headerfile.ino:27: error: invalid conversion from 'int' to 'char*'
Das bedeutet genau das, was da steht. int ist was anderes als char* und eine automatische Konvertierung ist nicht moeglich. "char*" und "char[]" ist im Prinzip dasselbe, weswegen mein Vorschlag oben funktionieren sollte.

Zitat:Und warum steht oben das void dialNumber nocheinmal mit ; am Ende?
Das eine ist eine Funktionsdeklaration, das andere eine Definition. Normalerweise packt man die Deklaration ins .h-File und die zugehoerige Definition ins .cpp-File. So, wie es in Deinem Code-Snippet steht ist es nicht sonderlich sinnvoll, stoert aber auch nicht.
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.02.2015, 12:26
Beitrag #3
RE: Char* Compilerfehlermeldung?
Hallo Thorsten,

ja, es geht. Da hatte ich wohl das gegoogelte Ergebnis in Englisch nicht verstanden.
Hatte das so gedeutet, das mit dem char* number ein int (number) in char gewandelt wird.

Ich hatte den Aufbau mit dem h-File so gelassen, weil ich dachte das macht meinen Code übersichtlicher, als wenn alles im ino-File steht.

Das vermeintlich "doppelte" hat es mir als Anfänger nicht unbedingt verständlicher gemacht.
Vielen Dank für die Erläuterungen.

Grüße, Andreas

(09.02.2015 11:43)Thorsten Pferdekämper schrieb:  
(09.02.2015 10:36)DL1AKP schrieb:  in meinem Programm steht folgendes:
Code:
int number = 0172975845;
dialNumber(number);
Das sollte so gehen:
Code:
char number[] = "0172975845";
dialNumber(number);
Erstens geht int nur von -2^15 bis 2^15-1. Zweitens braucht dialNumber eine Zeichenkette und kein int.

Zitat:Dann habe ich ein .h-File welches mit include eingebunden ist.
Dort steht folgendes (ist nicht von mir)
Code:
void dialNumber(char * number);

void dialNumber(char * number)
{
Falcom.print("ATD");  //ATD is the command to Dial a Number
Der Compiler meldet:
erster_Test_headerfile.ino:27: error: invalid conversion from 'int' to 'char*'
Das bedeutet genau das, was da steht. int ist was anderes als char* und eine automatische Konvertierung ist nicht moeglich. "char*" und "char[]" ist im Prinzip dasselbe, weswegen mein Vorschlag oben funktionieren sollte.

Zitat:Und warum steht oben das void dialNumber nocheinmal mit ; am Ende?
Das eine ist eine Funktionsdeklaration, das andere eine Definition. Normalerweise packt man die Deklaration ins .h-File und die zugehoerige Definition ins .cpp-File. So, wie es in Deinem Code-Snippet steht ist es nicht sonderlich sinnvoll, stoert aber auch nicht.
Gruss,
Thorsten
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  char zu int scritch 1 441 04.04.2016 16:19
Letzter Beitrag: rkuehle
  invalid conversion from 'const char*' to 'char' toto1975 8 881 31.03.2016 12:49
Letzter Beitrag: hotsystems
  char* inhalt in eine Datei auf SD-Karte schreiben MartinK 0 341 30.03.2016 16:42
Letzter Beitrag: MartinK
  Problem mit char array Retian 12 1.003 03.01.2016 22:34
Letzter Beitrag: hotsystems
  änderbarer char? IIHoffyII 3 727 19.04.2015 18:45
Letzter Beitrag: Pit
  Variablen Typ double, char, long aus ext. EEPROM lesen SternGucker 8 1.538 02.04.2015 08:10
Letzter Beitrag: SternGucker
  String / Char Problem - Ich verzweifele.... DL1AKP 7 4.533 25.09.2014 16:15
Letzter Beitrag: DL1AKP
  String aus char erzeugen funktioniert nicht Foto-Ralf 2 1.226 09.08.2014 23:43
Letzter Beitrag: Foto-Ralf
Question Float in char/int - sd logger Hilgi 6 2.133 25.07.2014 12:50
Letzter Beitrag: Hilgi
Question Konvertierung int zu char[] Kielomatic 2 2.255 25.03.2014 20:43
Letzter Beitrag: Kielomatic

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste