2015-10-17 1 views
2

J'écris un code et je ne peux pas utiliser une chaîne comme paramètre d'une fonction, l'Arduino ne cesse de se réinitialiser. Ceci est mon Code d'origine Thad ne fonctionne-pas:Pourquoi je ne peux pas passer une chaîne comme paramètre d'une fonction?

Serial.print(readLine("routes.txt", 1)); // calling the function 

String readLine(String fileName, unsigned int lineNum) 
{ 
    if (!SD.exists(fileName)) 
    { 
    Serial.println("- " + fileName + " do not exists!"); 
    return ("FAILURE"); 
    } 
[continue the code...] 

Ce code fonctionne :

Serial.print(readLine(1)); // calling the function 

String readLine(unsigned int lineNum) 
{ 
    if (!SD.exists("routes.txt")) 
    { 
    Serial.println("- " + "routes.txt" + " do not exists!"); 
    return ("FAILURE"); 
    } 
[continue the code...] 

Toute personne pour me aider?

+0

Quel est le comportement si vous remplacez "String" par "string" dans la déclaration readLine? – Artium

Répondre

0

Essayez d'affecter la valeur "routes.txt" dans une variable de type String d'abord, puis utilisez cette variable comme paramètre lors de l'appel de la méthode. Le compilateur peut supposer que la valeur est un tableau de caractères au lieu d'une valeur de chaîne.