IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

std::ostream dans une DLL


Sujet :

C++

  1. #1
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut std::ostream dans une DLL
    Bonjour,

    voilà ce matin c'est une question de stream qui me dérange grandement :

    J'ai un programme, qui utilise une dll en link explicite.
    Dans le programme, le flux de sortie est surchargé, de maniere à le customiser un peu.
    Pour bénéficier de cette customisation, j'ai besoin de passer le flux en question à la DLL pour qu'elle l'utilise pour ses sorties elle aussi.

    Je passe donc un std::otream* en argument dans ma méthode qui est dans la DLL.
    Tout ce passe bien si je fait ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (*mystream) << "mon test de output formaté "<< std::endl;
    Seulement le mystream est une variable locale à ma fonction.

    L'idée est donc de le passer dans une classe pour que ladite classe puisse utiliser le flux à sa guise.

    Mais j'ai le soucis suivant, dans la class je déclare mon std::ostream, mais a la compilation j'ai l'erreur suivante :

    error C2512: 'std::basic_ostream<_Elem,_Traits>'*: aucun constructeur par défaut approprié disponible
    1> with
    1> [
    1> _Elem=char,
    1> _Traits=std::char_traits<char>
    1> ]
    En effet, je n'ai pas appellé de constructeur manuellement dans le constructeur de la classe, mais alors en qui celà l'embete t'il ?

    Comment je peux, depuis un pointeur sur ostream en argument d'une méthode, affecter le flux dans un flux membre de la classe ?

    Merci.
    "le langage C permet de tout faire, y compris se tirer dans le pied. Le langage C++ permet de tout faire, y compris se tirer dans le pied - et réutiliser la balle"

  2. #2
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut
    Heuu bon de deux choses l'une:

    * en utilisant des pointeurs partout on peux s'en sortir, ça marche sans probleme
    * J'ai finalement fait autrement, car la customisation est plus complexe à gerer sur mes flux que je ne le pensais, et donc le résultat, meme si ça marche, n'est pas celui que j'attendais (et c'est normal, je n'y avais juste pas pensé) donc finalement pas de transfers de flux ..
    "le langage C permet de tout faire, y compris se tirer dans le pied. Le langage C++ permet de tout faire, y compris se tirer dans le pied - et réutiliser la balle"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/11/2005, 17h11
  2. [VStudio 6] pb avec fonctions dans une DLL
    Par MogDeChNord dans le forum MFC
    Réponses: 8
    Dernier message: 08/01/2004, 08h57
  3. [BP7] Problème chargement de ressource dans une DLL
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 11
    Dernier message: 26/07/2003, 21h36
  4. PB avec "self" dans une dll
    Par DiJiRiDouS dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2003, 09h32
  5. [VB6]Passage d'un tableau dans une DLL écrite en delphi
    Par flash dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/09/2002, 10h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo