2017-02-10 7 views
0

Je suis ce tutoriel sur la programmation audio en C++ un theres est quelque chose que je ne comprends pas; qu'est-ce que la quatrième ligne suppose représenter? Je comprends que je ne crée pas une instance d'AudioObject car je ne l'instancie pas avec le nouveau mot-clé. Cependant, pourquoi peut-on lui attribuer des attributs? Cela ressemble beaucoup à une déclaration de fonction qui me rend confus car le son est utilisé comme référence ailleurs dans ma main. par exempleInitialisation avec les paramètres

SampleInfo info; //struct 
info.volume = 1.0; 

AudioObject sound(info, data); //<--this line 


//why can assign info, data 
+3

vous comprenez mal; Voici une liste de livres C++ qui pourraient vous aider: [Le Guide du Livre C++ définitif et Liste] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). –

+0

Lisez sur "l'analyse la plus vexante": https://en.wikipedia.org/wiki/Most_vexing_parse –

+3

@AlexZywicki C'est une bonne lecture en effet, mais il n'y a pas d'analyse plus vexante ici cependant. – vsoftco

Répondre

0

Vous êtes en fait la création d'une instance d'un AudioObject avec automatic storage duration, mais pas une instance allouée dynamiquement (via new). info et data sont les arguments que vous transmettez au constructeur. Évitez d'utiliser new sauf lorsque vous en avez vraiment besoin, C++ n'est pas Java.

+0

haha ​​thx beaucoup, maintenant je sais au moins ce que je regarde! –