Ya s samogo nachala ponyal chto vy xotite otkljuchit detektirovanie etoj osibki, prosto podumal chto mozno problemu oboyti .)) Mdaaaaa, mne samomu interesno stalo vzjal nemnogo po standartu proselsja. Dumayu chto vy eto znaete uze davno , podpravte menja esli ja neverno govoryu .
Standard govorit chto (6.9.1 Syntax rule 8) : "If a function that accepts a variable number of arguments is defined without a parameter type list that ends with the ellipsis notation, the BEHAVIOR IS UNDEFINED."
V svoyu ochered syntax pishet dla argumentov:
parameter-type-list: parameter-list parameter-list , ...
Vrode by poluchaetsja chto kak minimum odin identifier dolzen byt pered ellipsisom chtoby compiler ego prinjal. Esli u vas vse pervye argumenty- pointery , to mozno funkciyu perepisat kak :
typedef void(*fptr)(void*,...);
((fptr)(arg))(pvalue);
Proveril na Borlande - tak i est. Mozet byt eto vyxod? Est li tam ptichka s podderzkoj K&R standarta Cv settingax? Mozet otmetit ee?
--------------------
Зачем лаять на караван , когда на него можно плюнуть?
|