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

Langage C++ Discussion :

Passer des std::wstring comme argument d'une fonction dans une macro.


Sujet :

Langage C++

  1. #1
    Invité
    Invité(e)
    Par défaut Passer des std::wstring comme argument d'une fonction dans une macro.
    Salut, j'ai des fonctions qui prennent en paramètre des std::wstring et je souhaiterai faire ceci :

    Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    /**\fn
    * \brief This is an helper function like macro which register a derived type in the dynamic factory.
    * \param ID : an ID which is associate to the relation.
    * \param BASE : the base type of the derived class.
    * \param DERIVED : the derived type of the derived class.
    */
    #define REGISTER_TYPE(ID, BASE, DERIVED) \
    { \
    DERIVED *derived##ID = nullptr; \
    odfaeg::core::Allocator<BASE> allocator##ID; \
    BASE*(odfaeg::core::Allocator<BASE>::*f##ID)(DERIVED*) = &odfaeg::core::Allocator<BASE>::allocate<DERIVED>; \
    odfaeg::core::FastDelegate<BASE*> allocatorDelegate##ID(f##ID, &allocator##ID, derived##ID); \
    std::string tname = typeid(DERIVED).name(); \
    odfaeg::core::BaseFactory<BASE>::register_type(std::wstring(tname.begin(), tname.end()), allocatorDelegate##ID); \
    }
    /**fn
    * \brief This is an helper function like macro which register a function in the dynamic factory.
    * \param ID : an ID which is associate to a derived type.
    * \param funcName : the name of the derived class member's function to register.
    * \param SID : an ID associated to the argument list of the member's function to register.
    * \param BASE : the base type of the derived class.
    * \param DERIVED : the derived type of the derived class.
    * \param SIGNATURE : the signature of the function to register.
    */
    #define REGISTER_FUNC(ID, funcName, SID, BASE, DERIVED, SIGNATURE, args...) \
    { \
    REGISTER_TYPE(ID, BASE, DERIVED) \
    void(DERIVED::*f##ID##funcName##SID)SIGNATURE = &DERIVED::vt##funcName; \
    odfaeg::core::FastDelegate<void> delegate##ID##funcName##SID (f##ID##funcName##SID, args); \
    std::string tname = typeid(DERIVED).name(); \
    odfaeg::core::BaseFactory<BASE>::register_function(std::wstring(tname.begin(), tname.end()), #funcName, #SID, delegate##ID##funcName##SID); \
    }
    /** \fn EXPORT_CLASS_GUID(ID, BASE, DERIVED)
    *   \brief Helper macro which export classes to serialize member's variables of polymorphic objects.
    *   \param ID : an unique ID which identify the exportation.
    *   \param BASE : the type of the base class to export.
    *   \param DERIVED : the type of the derived class to export.
    *   Exemple (for multiple inheritance) :
    *   EXPORT_CLASS_GUID(B1D, BASE1, DERIVED)
    *   EXPORT_CLASS_GUID(B2D, BASE2, DERIVED)
    *   etc...
    *   Exemple (for single inheritance)
    *   EXPORT_CLASS_GUID(BD1, BASE, DERIVED1)
    *   EXPORT_CLASS_GUID(BD2, BASE, DERIVED2)
    *   etc...
    *   Abstract derived classes cannot be exported.
    */
    #define EXPORT_CLASS_GUID(ID, BASE, DERIVED) \
    { \
    REGISTER_TYPE(ID, BASE, DERIVED) \
    std::wostringstream oss##ID; \
    std::wistringstream iss##ID; \
    odfaeg::core::OTextArchive outa##ID(oss##ID); \
    odfaeg::core::ITextArchive ina##ID(iss##ID); \
    DERIVED* derived##ID = new DERIVED(); \
    REGISTER_FUNC(ID, serialize, OTextArchive, BASE, DERIVED, (odfaeg::core::OTextArchive&), static_cast<BASE*>(derived##ID), std::ref(outa##ID)) \
    REGISTER_FUNC(ID, serialize, ITextArchive, BASE, DERIVED, (odfaeg::core::ITextArchive&), static_cast<BASE*>(derived##ID), std::ref(ina##ID)) \
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXPORT_CLASS_GUID(BoundingVolumeBoundingBox, BoundingVolume, BoundingBox)
    J'ai essayer de passer l'EDI en UTF16 mais j'ai toujours cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
     
    ||=== Build: Debug in ODFAEG-DEMO (compiler: GNU GCC Compiler) ===|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|10|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|34|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :169|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|10|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|35|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :24|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|11|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|34|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :46|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|11|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|35|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :46|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|12|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|34|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :46|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|12|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|35|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :46|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|13|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|34|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :34|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|13|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|35|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :56|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|14|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|34|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :56|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|14|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|35|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :56|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|15|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|34|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :56|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp|15|error: no viable conversion from 'const char [10]' to 'std::wstring' (aka 'basic_string<wchar_t>')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|35|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|50|note: expanded from macro '\|
    :10|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|460|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const std::basic_string<wchar_t> &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|495|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'const wchar_t *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|512|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'std::basic_string<wchar_t> &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|530|note: candidate constructor not viable: no known conversion from 'const char [10]' to 'initializer_list<wchar_t>' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|123|note: passing argument to parameter 'funcName' here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|699|error: invalid operands to binary expression ('std::wistream' (aka 'basic_istream<wchar_t>') and 'int')|
    ../../../../../usr/local/include/odfaeg/Graphics/vertex.h:106:17: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<unsigned char, void>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h:1032:28: note||in instantiation of function template specialization 'odfaeg::graphic::Vertex::vtserialize<odfaeg::core::ITextArchive>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h:1214:21: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<odfaeg::graphic::Vertex, void, void, void, void>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Physics/../Graphics/vertexArray.h:140:17: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<odfaeg::graphic::Vertex>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h:1032:28: note||in instantiation of function template specialization 'odfaeg::graphic::VertexArray::vtserialize<odfaeg::core::ITextArchive>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/batcher.h|287|note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h:1221:17: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<odfaeg::graphic::Face, void, void, void, void>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h:1214:21: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<odfaeg::graphic::Face>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/2D/../entity.h:314:21: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<std::unique_ptr<odfaeg::graphic::Face, std::default_delete<odfaeg::graphic::Face> > >' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../../../include/odfaeg/Graphics/tile.h:141:29: note||in instantiation of function template specialization 'odfaeg::graphic::Entity::vtserialize<odfaeg::core::ITextArchive>' requested here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp:11:5: note||in instantiation of function template specialization 'odfaeg::graphic::Tile::vtserialize<odfaeg::core::ITextArchive>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|35|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|47|note: expanded from macro '\|
    :46|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|120|note: candidate function not viable: no known conversion from 'unsigned char' to '__istream_type &(*)(__istream_type &)' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|124|note: candidate function not viable: no known conversion from 'unsigned char' to '__ios_type &(*)(__ios_type &)' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|131|note: candidate function not viable: no known conversion from 'unsigned char' to 'std::ios_base &(*)(std::ios_base &)' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|168|note: candidate function not viable: no known conversion from 'unsigned char' to 'bool &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|172|note: candidate function not viable: no known conversion from 'unsigned char' to 'short &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|175|note: candidate function not viable: no known conversion from 'unsigned char' to 'unsigned short &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|179|note: candidate function not viable: no known conversion from 'unsigned char' to 'int &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|182|note: candidate function not viable: no known conversion from 'unsigned char' to 'unsigned int &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|186|note: candidate function not viable: no known conversion from 'unsigned char' to 'long &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|190|note: candidate function not viable: no known conversion from 'unsigned char' to 'unsigned long &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|195|note: candidate function not viable: no known conversion from 'unsigned char' to 'long long &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|199|note: candidate function not viable: no known conversion from 'unsigned char' to 'unsigned long long &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|214|note: candidate function not viable: no known conversion from 'unsigned char' to 'float &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|218|note: candidate function not viable: no known conversion from 'unsigned char' to 'double &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|222|note: candidate function not viable: no known conversion from 'unsigned char' to 'long double &' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|235|note: candidate function not viable: no known conversion from 'unsigned char' to 'void *&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|259|note: candidate function not viable: no known conversion from 'unsigned char' to '__streambuf_type *' (aka 'basic_streambuf<wchar_t, std::char_traits<wchar_t> > *') for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|872|note: candidate function [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>, _Tp = unsigned char] not viable: no known conversion from 'std::wistream' (aka 'basic_istream<wchar_t>') to 'basic_istream<wchar_t, std::char_traits<wchar_t> > &&' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.h|3761|note: candidate function [with _CharT = wchar_t, _Traits = std::char_traits<wchar_t>] not viable: no known conversion from 'unsigned char' to 'std::bernoulli_distribution &' for 2nd argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/istream.tcc|923|note: candidate template ignored: deduced conflicting types for parameter '_CharT' ('wchar_t' vs. 'unsigned char')|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/streambuf|168|note: candidate template ignored: could not match 'basic_string<type-parameter-0-0, type-parameter-0-1, type-parameter-0-2>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|727|note: candidate template ignored: could not match 'char' against 'wchar_t'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|732|note: candidate template ignored: could not match 'char' against 'wchar_t'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|774|note: candidate template ignored: could not match 'char' against 'wchar_t'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/istream|779|note: candidate template ignored: could not match 'char' against 'wchar_t'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/istream.tcc|955|note: candidate template ignored: could not match '_CharT *' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|178|note: candidate template ignored: could not match 'linear_congruential_engine<type-parameter-0-0, __a, __c, __m>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|505|note: candidate template ignored: could not match 'mersenne_twister_engine<type-parameter-0-0, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|657|note: candidate template ignored: could not match 'subtract_with_carry_engine<type-parameter-0-0, __w, __s, __r>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|725|note: candidate template ignored: could not match 'discard_block_engine<type-parameter-0-0, __p, __r>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|856|note: candidate template ignored: could not match 'shuffle_order_engine<type-parameter-0-0, __k>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|1050|note: candidate template ignored: could not match 'uniform_int_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|1112|note: candidate template ignored: could not match 'uniform_real_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|1256|note: candidate template ignored: could not match 'geometric_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|1372|note: candidate template ignored: could not match 'negative_binomial_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|1577|note: candidate template ignored: could not match 'poisson_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|1845|note: candidate template ignored: could not match 'binomial_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|1906|note: candidate template ignored: could not match 'exponential_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|2077|note: candidate template ignored: could not match 'normal_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|2140|note: candidate template ignored: could not match 'lognormal_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|2212|note: candidate template ignored: could not match 'chi_squared_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|2299|note: candidate template ignored: could not match 'cauchy_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|2377|note: candidate template ignored: could not match 'fisher_f_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|2451|note: candidate template ignored: could not match 'student_t_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|2621|note: candidate template ignored: could not match 'gamma_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|2698|note: candidate template ignored: could not match 'weibull_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|2774|note: candidate template ignored: could not match 'extreme_value_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|2913|note: candidate template ignored: could not match 'discrete_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|3128|note: candidate template ignored: could not match 'piecewise_constant_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/random.tcc|3344|note: candidate template ignored: could not match 'piecewise_linear_distribution<type-parameter-0-0>' against 'unsigned char'|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bitset|1463|note: candidate template ignored: could not match 'bitset<_Nb>' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/batcher.h|197|error: no matching function for call to object of type 'odfaeg::core::ITextArchive'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h:1032:28: note||in instantiation of function template specialization 'odfaeg::graphic::Material::vtserialize<odfaeg::core::ITextArchive>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/batcher.h:288:17: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<odfaeg::graphic::Material, void, void, void, void>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h:1065:33: note||in instantiation of function template specialization 'odfaeg::graphic::Face::vtserialize<odfaeg::core::ITextArchive>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h:1221:17: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<odfaeg::graphic::Face, void, void, void, void>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h:1214:21: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<odfaeg::graphic::Face>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/2D/../entity.h:314:21: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<std::unique_ptr<odfaeg::graphic::Face, std::default_delete<odfaeg::graphic::Face> > >' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../../../include/odfaeg/Graphics/tile.h:141:29: note||in instantiation of function template specialization 'odfaeg::graphic::Entity::vtserialize<odfaeg::core::ITextArchive>' requested here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp:11:5: note||in instantiation of function template specialization 'odfaeg::graphic::Tile::vtserialize<odfaeg::core::ITextArchive>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|35|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|47|note: expanded from macro '\|
    :46|1|note: expanded from here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|710|note: candidate function not viable: no known conversion from 'Uint8' (aka 'unsigned char') to 'wchar_t &' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|737|note: candidate function not viable: no known conversion from 'Uint8' (aka 'unsigned char') to 'unsigned int &' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|803|note: candidate template ignored: couldn't infer template argument 'T'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|838|note: candidate template ignored: couldn't infer template argument 'T'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|768|note: candidate template ignored: could not match 'T *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|973|note: candidate template ignored: could not match 'T *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1080|note: candidate template ignored: disabled by 'enable_if' [with O = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|895|note: candidate template ignored: could not match 'E *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|683|note: candidate template ignored: substitution failure [with T = unsigned char, D = <>, $2 = void]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|932|note: candidate template ignored: disabled by 'enable_if' [with T = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1012|note: candidate template ignored: disabled by 'enable_if' [with O = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1047|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|866|note: candidate template ignored: disabled by 'enable_if' [with E = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1122|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1173|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1207|note: candidate template ignored: could not match 'vector<type-parameter-0-0, allocator<type-parameter-0-0> >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1219|note: candidate template ignored: could not match 'unique_ptr<type-parameter-0-0, default_delete<type-parameter-0-0> >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1226|note: candidate template ignored: could not match 'pair<type-parameter-0-0, type-parameter-0-1>' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1234|note: candidate template ignored: could not match 'map<type-parameter-0-0, type-parameter-0-1, less<type-parameter-0-0>, allocator<pair<const type-parameter-0-0, type-parameter-0-1> > >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/batcher.h|198|error: no matching function for call to object of type 'odfaeg::core::ITextArchive'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|710|note: candidate function not viable: no known conversion from 'Uint8' (aka 'unsigned char') to 'wchar_t &' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|737|note: candidate function not viable: no known conversion from 'Uint8' (aka 'unsigned char') to 'unsigned int &' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|803|note: candidate template ignored: couldn't infer template argument 'T'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|838|note: candidate template ignored: couldn't infer template argument 'T'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|768|note: candidate template ignored: could not match 'T *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|973|note: candidate template ignored: could not match 'T *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1080|note: candidate template ignored: disabled by 'enable_if' [with O = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|895|note: candidate template ignored: could not match 'E *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|683|note: candidate template ignored: substitution failure [with T = unsigned char, D = <>, $2 = void]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|932|note: candidate template ignored: disabled by 'enable_if' [with T = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1012|note: candidate template ignored: disabled by 'enable_if' [with O = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1047|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|866|note: candidate template ignored: disabled by 'enable_if' [with E = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1122|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1173|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1207|note: candidate template ignored: could not match 'vector<type-parameter-0-0, allocator<type-parameter-0-0> >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1219|note: candidate template ignored: could not match 'unique_ptr<type-parameter-0-0, default_delete<type-parameter-0-0> >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1226|note: candidate template ignored: could not match 'pair<type-parameter-0-0, type-parameter-0-1>' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1234|note: candidate template ignored: could not match 'map<type-parameter-0-0, type-parameter-0-1, less<type-parameter-0-0>, allocator<pair<const type-parameter-0-0, type-parameter-0-1> > >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/batcher.h|199|error: no matching function for call to object of type 'odfaeg::core::ITextArchive'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|710|note: candidate function not viable: no known conversion from 'Uint8' (aka 'unsigned char') to 'wchar_t &' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|737|note: candidate function not viable: no known conversion from 'Uint8' (aka 'unsigned char') to 'unsigned int &' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|803|note: candidate template ignored: couldn't infer template argument 'T'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|838|note: candidate template ignored: couldn't infer template argument 'T'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|768|note: candidate template ignored: could not match 'T *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|973|note: candidate template ignored: could not match 'T *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1080|note: candidate template ignored: disabled by 'enable_if' [with O = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|895|note: candidate template ignored: could not match 'E *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|683|note: candidate template ignored: substitution failure [with T = unsigned char, D = <>, $2 = void]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|932|note: candidate template ignored: disabled by 'enable_if' [with T = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1012|note: candidate template ignored: disabled by 'enable_if' [with O = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1047|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|866|note: candidate template ignored: disabled by 'enable_if' [with E = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1122|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1173|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1207|note: candidate template ignored: could not match 'vector<type-parameter-0-0, allocator<type-parameter-0-0> >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1219|note: candidate template ignored: could not match 'unique_ptr<type-parameter-0-0, default_delete<type-parameter-0-0> >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1226|note: candidate template ignored: could not match 'pair<type-parameter-0-0, type-parameter-0-1>' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1234|note: candidate template ignored: could not match 'map<type-parameter-0-0, type-parameter-0-1, less<type-parameter-0-0>, allocator<pair<const type-parameter-0-0, type-parameter-0-1> > >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/batcher.h|200|error: no matching function for call to object of type 'odfaeg::core::ITextArchive'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|710|note: candidate function not viable: no known conversion from 'Uint8' (aka 'unsigned char') to 'wchar_t &' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|737|note: candidate function not viable: no known conversion from 'Uint8' (aka 'unsigned char') to 'unsigned int &' for 1st argument|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|803|note: candidate template ignored: couldn't infer template argument 'T'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|838|note: candidate template ignored: couldn't infer template argument 'T'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|768|note: candidate template ignored: could not match 'T *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|973|note: candidate template ignored: could not match 'T *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1080|note: candidate template ignored: disabled by 'enable_if' [with O = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|895|note: candidate template ignored: could not match 'E *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|683|note: candidate template ignored: substitution failure [with T = unsigned char, D = <>, $2 = void]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|932|note: candidate template ignored: disabled by 'enable_if' [with T = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1012|note: candidate template ignored: disabled by 'enable_if' [with O = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1047|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|866|note: candidate template ignored: disabled by 'enable_if' [with E = unsigned char, D = <>]|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1122|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1173|note: candidate template ignored: could not match 'O *' against 'Uint8' (aka 'unsigned char')|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1207|note: candidate template ignored: could not match 'vector<type-parameter-0-0, allocator<type-parameter-0-0> >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1219|note: candidate template ignored: could not match 'unique_ptr<type-parameter-0-0, default_delete<type-parameter-0-0> >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1226|note: candidate template ignored: could not match 'pair<type-parameter-0-0, type-parameter-0-1>' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|1234|note: candidate template ignored: could not match 'map<type-parameter-0-0, type-parameter-0-1, less<type-parameter-0-0>, allocator<pair<const type-parameter-0-0, type-parameter-0-1> > >' against 'unsigned char'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/archive.h|954|error: no viable overloaded '='|
    ../../../../../usr/local/include/odfaeg/Graphics/2D/../entity.h:316:21: note||in instantiation of function template specialization 'odfaeg::core::ITextArchive::operator()<std::basic_string<char>, void, void, void>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../../../include/odfaeg/Graphics/tile.h:141:29: note||in instantiation of function template specialization 'odfaeg::graphic::Entity::vtserialize<odfaeg::core::ITextArchive>' requested here|
    /home/laurent/Développement/Projets-c++/ODFAEG-DEMO/main.cpp:11:5: note||in instantiation of function template specialization 'odfaeg::graphic::Tile::vtserialize<odfaeg::core::ITextArchive>' requested here|
    ../../../../../usr/local/include/odfaeg/Graphics/../Core/serialization.h|35|note: expanded from macro 'EXPORT_CLASS_GUID'|
    ../../../../../usr/local/include/odfaeg/Graphics/../Math/../../../include/odfaeg/Core/factory.h|47|note: expanded from macro '\|
    :46|1|note: expanded from here|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|554|note: candidate function not viable: no known conversion from 'basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t>>' to 'const basic_string<char, char_traits<char>, allocator<char>>' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|562|note: candidate function not viable: no known conversion from 'std::wstring' (aka 'basic_string<wchar_t>') to 'const char *' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|573|note: candidate function not viable: no known conversion from 'std::wstring' (aka 'basic_string<wchar_t>') to 'char' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|589|note: candidate function not viable: no known conversion from 'basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t>>' to 'basic_string<char, char_traits<char>, allocator<char>>' for 1st argument|
    /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/basic_string.h|601|note: candidate function not viable: no known conversion from 'std::wstring' (aka 'basic_string<wchar_t>') to 'initializer_list<char>' for 1st argument|
    ||=== Build failed: 18 error(s), 21 warning(s) (0 minute(s), 11 second(s)) ===|
    Merci d'avance pour l'aide.

    PS : je voudrais préciser qu'avec des std::string cela fonctionnait sans problème.
    Dernière modification par Invité ; 16/02/2016 à 13h01.

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Sais-tu ce que sont précisément string et wstring?

    Parce que la première ligne du message d'erreur te dis exactement la faute commise.
    Ta solution tient en une unique lettre: L, le préfixe à utiliser.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Invité
    Invité(e)
    Par défaut
    Devant les litéraux je dois mettre le suffixe L c'est exacte, mais si je le met dans la macro, le soucis c'est qu'il rajoute un L devant les noms.

    Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #define REGISTER_FUNC(ID, funcName, SID, BASE, DERIVED, SIGNATURE, args...) \
    { \
    REGISTER_TYPE(ID, BASE, DERIVED) \
    void(DERIVED::*f##ID##funcName##SID)SIGNATURE = &DERIVED::vt##funcName; \
    odfaeg::core::FastDelegate<void> delegate##ID##funcName##SID (f##ID##funcName##SID, args); \
    std::string tname = typeid(DERIVED).name(); \
    odfaeg::core::BaseFactory<BASE>::register_function(std::wstring(tname.begin(), tname.end()), L##funcName, L##SID, delegate##ID##funcName##SID); \
    }

    Par exemple si le nom de la fonction est serialize il me sort une erreur comme quoi la fonction Lserialize n'existe pas. (Ce qui est vrai)

    Comment dois je placer le preffixe devant le nom du paramètre de la macro pour que cpp l’interprète comme une std::wstring et non pas comme une std::string ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Si c'est des noms de fonction, les char et std::string suffisent. Tu n'auras pas de fonction avec des noms farfelues à accent etc, ce n'est pas permis il me semble.
    Donc le problème c'est quoi..? Tu ne parviens pas à convertir une std::wstring en std::string au runtime, parce que tu utilises une std::string en clé et n'a qu'une std::wstring en donnée?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    As-tu regardé ce que produit ta macro dans un cas précis? Pour gcc, c'est avec l'option -E (plutot que -c)
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  6. #6
    Invité
    Invité(e)
    Par défaut
    As-tu regardé ce que produit ta macro dans un cas précis? Pour gcc, c'est avec l'option -E (plutot que -c)
    Oui et les macro ne produisent que des std::string, donc, je vais retirer l'idée des wstring. (bien qu'à l'avenir on décide de mettre des accents dans les noms de fonctions)

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Il faut juste faire la gymnastique suivante

    • de string vers wstring: conversion UTF-8 vers UTF-16
    • de wstring vers string: conversion UTF-16 vers UTF-8


    Les conversions sont assez triviales (2 switch case de 4 cas)

    Il faut lire wiki ou s'inspirer de cette bibliothèque UTF8-CPP

  8. #8
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Juste pour dire que le string classique en UTF-8 gère les accents et même bien plus... Le Greek, le Cyrillic, l'Arabe. et un tas de langages que je ne connais même pas...
    Donc, la problématique de la conversion en UTF-16 me semble inutile. De plus, la plus part de fichier de code source sont souvent au mieux encoder en UTF-8.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Ok, merci bien.

    Je pensais que le std::string ne gérais que l'ascii. (et donc, pas les accents)

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Un std::string contient ce que tu mets dedans: Des char sur huit bits (et non sept). Après, ce qui doit supporter ou non l'UTF-8, c'est ce qu'il y a autour (iostreams pour l'affichage, fonctions de conversion, etc.)

    Ce n'est généralement pas un problème sur un Linux configuré en UTF-8, mais c'est plus problématique sous Windows où la plupart des fonctions travaillant sur des char s'attendent à du Windows-1252.

    Pour le coup de rajouter L devant l'identifiant de paramètre plutôt que la chaîne, je crois que ça se corrige en passant par des macros intermédiaires (cf. la définition de la macro TEXT() sous Windows quand UNICODE est défini).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/09/2013, 16h40
  2. Passer une Fonction comme argument d'une fonction
    Par ch16089 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/02/2011, 17h58
  3. Réponses: 3
    Dernier message: 05/11/2009, 10h28
  4. Réponses: 14
    Dernier message: 16/05/2006, 11h26
  5. une url comme argument d'une fonction
    Par khayyam90 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/10/2004, 20h15

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