При компиляции на С++ я часто получаю сообщения об ошибках, касающиеся "формальных параметров", например
error C2719: 'b': formal parameter with __declspec(align('16')) won't be aligned
Я понимаю ошибку и тот факт, что b
является параметром функции, которую я определяю.
Однако, что это означает, что параметр является формальным? Могут ли быть и неофициальные параметры?
Я замечаю, что термин "формальный параметр" появляется и на других языках, поэтому я полагаю, что это более общий термин, не обязательно специфический для C-семейства языков? Поддерживаются ли неформальные параметры некоторым подмножеством языков?
Увидев ответы, один последний вопрос: откуда взялись эти формальные параметры и фактическое значение параметра? Происходит ли это из стандарта C, или это эффект называть его как таковой в каком-то абстрактном исчислении языка?