Нужно ли указывать соглашение о вызовах в заголовочных и исходных файлах? - PullRequest
0 голосов
/ 04 декабря 2018

Нужно ли указывать соглашение о вызовах в заголовочных и исходных файлах?

Например,

header.h

void __cdecl Foo();

source.cpp

void __cdecl Foo()
{
}

1 Ответ

0 голосов
/ 04 декабря 2018

С документы :

Для нестатических функций класса, если функция определена вне строки, модификатор соглашения о вызовах не обязательно указывать в определении вне строки .То есть для нестатических методов-членов класса соглашение о вызовах, указанное во время объявления, принимается в точке определения.Учитывая это определение класса:

struct CMyClass {
   void __cdecl mymethod();
};

это

void CMyClass::mymethod() { return; }

эквивалентно этому:

void __cdecl CMyClass::mymethod() { return; }
...