Вы действительно проверили , что flog
находится в области действия, где бы вы ни использовали макрос OPENFILE
?
Например, с сегментом кода:
SETERRORPARAMS
OPENFILE (fileStr, pathStr, modeStr)
В худшем случае вам придется проверять код после того, как препроцессор выполнит свою работу. Большинство компиляторов позволяют вам просматривать выходные данные, полученные на этапе препроцессора. GCC будет использовать gcc -E
, но я не уверен, что эквивалентен MSVC.
Эта ссылка , кажется, указывает на то, что вы можете ввести /P
в настройки проекта, чтобы получить предварительно проверенные файлы, записанные в *.i
файлах.
Но я должен сказать, что использование макросов для этого не очень хорошая идея. В старые времена это было хорошо для скоростных целей, но в наши дни нет необходимости в встроенных функциях и очень хороших оптимизаторах кода.