У меня есть файл .h. У меня есть функция, которая использует конструктор Struct / Class для аргумента по умолчанию.
Появляется в конце объявления, как здесь ответили: Куда поместить значение параметра по умолчанию в C ++?
Объявление функции
vector<UINT_PTR> scan(const ScanOptions& scan_options = ScanOptions());
Определение структуры
struct ScanOptions {
ScanOptions()
{
//Use some Windows.h functions here to find values
SYSTEM_INFO sysinfo;
GetSystemInfo(&sysinfo);
start_address = sysinfo.lpMinimumApplicationAddress;
end_address = sysinfo.lpMaximumApplicationAddress;
}
UINT_PTR start_address;
UINT_PTR end_address;
};
Здесь ответили, что:
Частные структуры для этого файла должны находиться в файле .c с объявлением в файле .h, если они используютсякакие-либо функции в .h.
Должны ли определения структуры находиться в файле .h или .c?
Кажется, нет способа объявитьтолько для того, чтобы объявить об этом?
C ++, как объявить структуру в заголовочном файле
Так что я просто храню объявление и определение своей структуры внутри моегоheader или есть другой рекомендуемый способ?
Я имею в виду, что мне все равно, насколько он глобален, так как он работает, и я не думаю, что он приведет к проблемам, но я действительно хочу знать.