Avec t = MaClasse, decltype(t + g()) va soit générer une erreur, soit être le type de retour de operator+(MaClasse t, char g).
Pour la ressource partagée comment penses-tu qu'il soit possible de définir une ressource de plusieurs types différents ?
Version imprimable
je me pose juste des questions (je sais bien qu'à la compilation le problème sera soulevé, mais on sait jamais alors j'en parle). Justement avec le fait que la ressource partagée (on va dire k)(définie avec le mot-clé auto) soit utilisée dans deux threads de façon différente (l'une du genre k = 5;, l'autre 5.f). Comment le compilateur résoud-il ce cas ?
auto ne sert que pour déclarer une variable.
Et soit tu la déclares dans chaque thread, et donc tes deux 'k' sont des variables distinctes qui n'ont aucun rapport entre elles. Pareil à avoir int i; et double i;
Soit tu déclares puis tu la partages entre deux threads, mais dans ce cas là, le type est fixé au moment de la déclaration.
Ca dépends de ce que retourne...Code:operator+( const MaClasse&, char )
Le principe même du template c'est de déterminer le code généré selon les paramètres du template et le contexte.
Je n'ai pas compris. :aie:Citation:
Oui j'avais compris. Ma référence à k était ambigüe. Je voulais vraiment parler d'une ressource partagée par deux portions de code et qui aurait été utilisée pour deux types de données différents.
Est-ce que tu peux donner un exemple?
On est là pour ça.Citation:
merci pour tes précisions ;)
D'accord. Pour l'exemple que j'ai en tête :
...:aie::aie::aie::aie::aie::aie:Code:
1
2 auto variable_globale k;// ...
Ok bah c'est bon j'ai rien dit :mouarf:. J'me souviens avoir lu dans le draft 2012 qu'à l'utilisation du mot-clé auto on est obligé de préciser immédiatement (comme pour les références) une valeur d'initialisation...
mais sinon pour l'exemple ça ressemblait au deuxième cas donné par Loïc Joly sauf que j'avais omis cette obligation (logique) de fixer le type au moment de la déclaration.
Merci Kleim et merci JolyLoic pour votre aide (merci à tous ceux qui ont participé en fait)
;)