Я получаю тавтологические ошибки компилятора. Как мне исправить «аргумент типа« X »несовместим с параметром типа« X »? - PullRequest
0 голосов
/ 09 июля 2020

Специфические c детали в моем случае: Я использую MSV C с распределителем памяти AMD vulkan , который представляет собой файл с одним заголовком в стиле stb. (Таким образом, вы включаете его в свой проект, например:

#define VMA_IMPLEMENTATION
#include "vk_mem_alloc.h"

в одном модуле компиляции для его компиляции, и просто

#include "vk_mem_alloc.h"

в любом файле, который должен его использовать.)

В любом случае:

Некоторые примеры специфических c ошибок, которые я получаю:

аргумент типа «VmaDeviceMemoryBlock *» несовместим с параметром типа « VmaDeviceMemoryBlock * "

и

значение типа« VmaSuballocationType »не может быть присвоено сущности типа« VmaSuballocationType »

и

объявление несовместимо с "void VmaBlockMetadata :: PrintDetailedMap_Allocation (VmaJsonWriter & json, VkDeviceSize offset, VmaAllocation hAllocation) const"

, когда определение *

void VmaBlockMetadata::PrintDetailedMap_Allocation(class VmaJsonWriter& json,
    VkDeviceSize offset,
    VmaAllocation hAllocation) const

Эти ошибки, а также многие другие, которые не являются очевидными, полностью засоряют файл. Еще более странно то, что я могу собрать программу, и она компилируется и запускается без проблем. Заполнение моим окном ошибки этим шумом полностью подрывает полезность окна ошибки. Я также теперь получаю другие странные ошибки в моем коде, и я не знаю, как действовать дальше.

...