2010-09-10 4 views
0

Je suis nouveau à cpp, j'ai un petit problème, J'ai un fichier cpp et il contient open(), read() & fermer() & d'autres méthodes en tant que membres du public. Maintenant, je voulais utiliser l'appel système 'read' unix dans l'une des méthodes Mais si je le fais (dans une certaine méthode) son pointage vers la variable membre de la classe 'read()' et donne une erreur de compilation. Alors, comment utiliser les appels système unix tels que 'ouvrir, lire, fermer' dans le cpp? si pas d'autre alternative à utiliser?en utilisant unix appels système en cpp

Merci-opensid

+0

Je ne suis pas entièrement sûr de comprendre la question - l'utilisation des appels système POSIX ne change pas lorsque vous passez en C++ - c'est la même chose que dans C. –

+0

@Billy, mais Comment dois-je utiliser dans le CPP fonctions membres? il ne me permet pas d'appeler les appels système unix et thorughs compiler l'erreur parce que tout en compilant le temps son pointage vers la fonction membre que la signature ne correspond pas. Pensez-vous que certaines alternatives? – openssid

Répondre

6

Si vous êtes dans une classe qui a une méthode de lecture(), et que vous voulez accéder à une fonction de lecture() dans l'espace de noms global, utilisez :: read().

+0

ça a marché ... Merci beaucoup – openssid

+2

"ça a marché ... Merci beaucoup" est généralement exprimé sur StackOverflow comme une coche verte à côté de la réponse ;-) – Johnsyweb

+0

... et être reconnaissant que 'read' n'est pas un' # define''d constante qui évalue soit 'readA' soit' readW' en fonction d'une autre constante du préprocesseur. – bk1e

1

Essayez :: read(). Les doubles-points vous conduisent au premier espace de noms vide.

+0

Err .. il ne serait pas très utile s'il était vide. :/ –

+0

cela a fonctionné ... Merci beaucoup – openssid

+0

@Billy: Fermez les yeux et prenez-vous à l'espace de noms global vide ... n'est-ce pas gentil? – Potatoswatter

Questions connexes