Pourquoi compiler sans erreurs ou avertissements?Noms de méthodes en double - Objective-c
@interface ObjectTest : NSObject {
}
-(void)iAmADoubleMethod;
-(void)iAmADoubleMethod;
@end
@implementation ObjectTest
-(void)iAmADoubleMethod {
NSLog(@"IAmADoubleMethod");
}
@end
Je suis tombé sur ceci dans un projet sur lequel je travaille. Je viens d'un arrière-plan C++, donc je pense que je devrais avoir au moins un avertissement pour ça. Non seulement j'aimerais savoir pourquoi cela est conforme, mais ce code pourrait-il causer des problèmes?
Merci.
Je vais mettre cela comme un commentaire parce que je ne suis pas sûr que c'est correct mais: Je crois que cela fonctionne parce que la norme C dit que vous pouvez avoir un certain nombre de déclarations tant qu'il n'y a qu'une seule définition. par exemple, vous pouvez déclarer un int x dans de nombreux fichiers, mais vous ne pouvez définir l'espace de la variable que dans un seul endroit. –