2010-05-22 6 views
2

J'utilise le compilateur C++ GCC 4.2 dans XCode 3.2.2. J'ai noté que le compilateur compilerait avec succès une méthode foo même s'il n'y a pas d'ellipses. L'en-tête et la méthode sont correctement déclarés comme foo(), mais quand je fais une recherche et un remplacement par fichier ou par programme, il manque environ 2-3% des changements [foo to foo(). Ce ne serait pas critique si le compilateur n'a pas donné une construction réussie erronée. Je n'ai pas trouvé que cela se produit avec: foo (n'importe quel paramètre). Quelqu'un at-il une solution? Je vous remercie.Détection d'erreur non réussie de la méthode déclarée incorrectement dans le compilateur GCC 4.2

+2

L'ellipse est les trois points ... - est-ce que vous avez des questions sur les parenthèses, par exemple()? Dans les deux cas, affichez du code qui illustre ce que vous demandez. –

Répondre

2

On ne sait pas à partir de votre question ce que vous demandez en fait sur, mais si elle est fonction appelle alors:

void foo() { 
} 

int main() { 
    foo(); // valid C++ - call foo 
    foo;  // valid C++ - get a function pointer 
} 

Si vous voulez un avertissement au sujet de la deuxième utilisation de foo, compiler avec le CCG -Wall drapeau (que vous devriez vraiment utiliser tout le temps dans tous les cas) - cela vous donnera:

f.cpp:6: warning: statement is a reference, not call, to function 'foo' 
f.cpp:6: warning: statement has no effect 
+0

Pour ajouter un drapeau GCC à travers xcode: Allez dans le menu "Projet" et sélectionnez "Modifier les paramètres du projet" Sélectionnez l'onglet "Build" Recherchez le paramètre "Autres drapeaux C++" et double-cliquez sur l'espace right Cliquez sur le signe plus et ajoutez "-Wall" – AdamG

0

Pour ajouter un drapeau GCC par Xcode:

  1. Allez dans le menu « Projet » et sélectionnez « Modifier les paramètres du projet »
  2. Sélectionnez le « Build » onglet
  3. Trouver les « Autres C++ Drapeaux » réglage et double cliquez sur l'espace vide à droite
  4. Cliquez sur le signe plus et ajoutez "-Wall"
Questions connexes