предупреждение: инициализация из несовместимого типа указателя - PullRequest
1 голос
/ 30 ноября 2011

Я не понимаю, где ошибка. почему это сообщение об ошибке: инициализация из несовместимого типа указателя. Помогите, пожалуйста, друзья.

const struct _displayout_default
{
const char* length;
const char**  buf;

}DisplayOut_DEFAULT[2] =  
{
    {
    "02", 
    (const char*[]){
        "01",
        "02",
        "03",
        "04"
        }
    },
    {
    "02", 
    (const char*[]){
        "01",
        "02",
        "03",
        "04"
        }
    }
};    

Обновление:

Компилятор MPLAB® C Для микроконтроллеров PIC32

C Стандарты Информация Американский национальный стандарт для информационных систем - язык программирования - C. Американский национальный институт стандартов (ANSI), 11 West 42nd. Улица, Нью-Йорк, Нью-Йорк, 10036.

Документы GCC http://gcc.gnu.org/onlinedocs/ http://sourceware.org/binutils/

Опции компилятора: -g -mlong-вызовов

Ответы [ 2 ]

3 голосов
/ 30 ноября 2011

Редактировать (старый ответ пропал)

К сожалению, я не могу воспроизвести сообщение с тем же компилятором и теми же параметрами:

T:\>"c:\Program Files (x86)\Microchip\mplabc32\v2.01\bin\pic32-gcc.exe" -g -mlong-calls -DNDEBUG -Os test.c

Нет ошибок.

Аналогично с pic32mx-gcc-4.5.1.exe - без ошибок.


Подробнее :

Источник

const struct _displayout_default
{
    const char* length;
    const char**  buf;

}DisplayOut_DEFAULT[2] =  
{
    {
        "02", 
        (const char*[]){
            "01",
            "02",
            "03",
            "04"
        }
    },
    {
        "02", 
        (const char*[]){
            "01",
            "02",
            "03",
            "04"
        }
    }
};    

int main(int argc, const char *argv[])
{

    return 0;
}

Версия компилятора:

    pic32-gcc.exe: 2: No such file or directory
    Using built-in specs.
    COLLECT_GCC=c:\Program Files (x86)\Microchip\mplabc32\v2.01\bin\pic32-gcc.exe
    COLLECT_LTO_WRAPPER=c:/program files
    (x86)/microchip/mplabc32/v2.01/bin/../pic32mx/bin/gcc/pic32mx/4.5.1/lto-wrapper.exeTarget:
    pic32mxConfigured with: ../../src45x/gcc/configure --build=i386-pc-linux-gnu
    --host=i586-mingw32msvc --target=pic32mx --disable-threads --disable-libmudflap
    --disable-libssp --disable-libstdcxx-pch --disable-hosted-libstdcxx
    --with-arch=pic32mx --enable-sgxx-sde-multilibs --disable-threads --with-gnu-as
    --with-gnu-ld --disable-sim --disable-bootstrap --enable-obsolete
    --disable-__cxa_atexit --disable-libfortran --enable-languages=c
    --disable-shared --with-newlib --disable-nls
    --prefix=/home/c11067/work/C32/builds/pic32-microchip-release-2.01-freeze-20110726/pic32-tools
    --disable-libgomp --without-headers --disable-libffi --enable-gofast
    --enable-poison-system-directories --program-prefix=pic32-
    --libexecdir=/home/c11067/work/C32/builds/pic32-microchip-release-2.01-freeze-20110726/pic32-tools/pic32mx/bin
    --with-dwarf2 --with-host-libstdcxx='-static-libgcc
    -Wl,-Bstatic,-lstdc++,-Bdynamic -lm'
    --with-libelf=/home/c11067/work/C32/builds/pic32-microchip-release-2.01-freeze-20110726/canadian-cross-build/mingw32-libs
    --enable-lto
    --with-gmp=/home/c11067/work/C32/builds/pic32-microchip-release-2.01-freeze-20110726/canadian-cross-build/mingw32-libs
    --with-ppl=/home/c11067/work/C32/builds/pic32-microchip-release-2.01-freeze-20110726/canadian-cross-build/mingw32-libs
    --with-cloog=/home/c11067/work/C32/builds/pic32-microchip-release-2.01-freeze-20110726/canadian-cross-build/mingw32-libs
    --with-zlib=/home/c11067/work/C32/builds/pic32-microchip-release-2.01-freeze-20110726/canadian-cross-build/mingw32-libs
    --with-bugurl=http://www.microchip.com/supportThread model: singlegcc version
    4.5.1 MPLAB C Compiler for PIC32 MCUs v2.01-20110816 (Microchip Technology)
2 голосов
/ 30 ноября 2011

В вашем коде нет ничего плохого, и он не выдает никаких предупреждений с помощью gcc 4.4.5 или clang 1.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...