J'ai une fonction C++ que j'appelle d'Objective CI. J'ai besoin de passer des variables en référence à la fonction C++. Mais j'obtiens l'erreur suivante dans xcode - "Expected '; , » ou ')' avant 'jeton &' dans foo.h »Passage de types de données primitifs par référence dans Objective C
déclaration de la fonction "foo.h"
#ifdef __cplusplus
extern "C"
{
#endif
NSString * LLtoUTM(double Lat,double Long,double &UTMNorthing, double &UTMEasting);
#ifdef __cplusplus
}
#endif
d'appel de fonction dans test_viewcontroller.m
double UTM_x;
double UTM_y;
UTMzone = [[NSString alloc] init];
UTMzone = (NSString *) LLtoUTM(latitude,longitude,UTM_y,UTM_x);
Quelqu'un peut-il me dire ce qui ne va pas?
@Joshua - Je l'ai essayé.Mais cela affecte d'autres codes obj-C que j'ai écrits dans test_viewcontroller.m (je reçois 50 erreurs et je n'ai pas la patience de le déboguer) .Il y a-t-il un passage C++ par référence dans l'objectif c? – Janani
Vous ne devriez pas avoir d'erreurs à moins que vous ayez fait quelque chose ... mais le plus proche sera votre C standard et l'adresse de DEREF –
Sur une autre note, [[NSString alloc] autorelease]; est complètement faux. alloc/init ne doit jamais être séparé. –