#define COUNT_ARGS_IMPL(macro, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, N, ...) _1
Почему компилятор Visual Studio получает всю var_args предыдущего макроса в первом аргументе? Если я попробую тот же код, но не вложенный, он работает нормально. Обычно предполагается, что он возвращает макрос ##N, но я сделал это во время тестирования, и это не имеет смысла.
Я тестировал, не передавая имя макроса для подсчета аргументов и имея счетчик предварительно рассчитывается до запуска макросаshader_program, но проблема сохраняется.


если вам нужен весь файл, то это так.#pragma once
#define GLAD_GL_IMPLEMENTATION
#include
#include
#include
#include
#include
#include
static std::string readShader(const char const* location)
{
char fileName[256] = "shaders\\";
strcat_s(fileName, location);
std::ifstream stream(fileName);
if (!stream)
{
std::cerr
Подробнее здесь: https://stackoverflow.com/questions/793 ... ncorrectly
Мобильная версия