2017-11-04 6 views
-3

(Ich bin ganz neu in C++) In der Zeile:Bedeutung einer C++ Funktionsparameter Typdeklaration

virtual void SetModifyHdl(const Link<Edit&,void>& rLink) { maModifyHdl = rLink; } 

was ist die genaue Bedeutung von Link<Edit&,void>&?

Es ist in Libreoffice Code, https://github.com/LibreOffice/core/blob/master/include/vcl/edit.hxx Linie 233.

+0

1) 'Link' ist der Typ, 2)' 'ist eine Vorlage und 3)' & 'ist eine Referenz. – DimChtz

+0

Mmmmm, es ist sicher ein Typ. – ForceBru

Antwort

3

Link<Edit&,void> ist eine Spezialisierung eines templated class namens Link unter 2 Template-Parameter. Edit& und void sind die Werte dieser Vorlagenparameter.

Diese Spezialisierung ist der Typ für den rLink Parameter von SetModifyHdl(). Die & bedeutet rLink nimmt einen Verweis auf eine Objektinstanz des obigen Typs. Die const bedeutet, dass das Objekt, auf das verwiesen wird, nicht durch SetModifyHdl() geändert werden kann.