Miré las preguntas anteriores pero aún así no estaba satisfecho, por lo tanto, estoy publicando esto. Estaba intentando compilar el código C++ escrito por otra persona.Error de C++: expresión primaria esperada antes del token '.'
/*
file1.h
*/
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
struct
{
unsigned member1;
unsigned member2;
} str1;
struct
{
unsigned member3;
unsigned member4;
} str2;
struct
{
unsigned member5;
unsigned member6;
} str3;
} CONFIG_T;
/*
file1.c
*/
CONFIG_T cfg =
{
.str1 = { 0x01, 0x02 },
.str2 = { 0x03, 0x04 },
.str3 = { 0x05, 0x06 }
};
Compilado con std C++ 11 y obtengo el siguiente error. Porqué el '.' se ha utilizado en el código al asignar valores?
home $$ g++ -c -std=gnu++0x initialze_list.cpp
initialze_list.cpp:34: error: expected primary-expression before ‘.’ token
initialze_list.cpp:35: error: expected primary-expression before ‘.’ token
initialze_list.cpp:36: error: expected primary-expression before ‘.’ token
No pude entender el motivo del error. Por favor ayuda.
qué líneas están número 34,35,36? –
Le han dado el código C, no el código C++. Pruebe un compilador de C –
No es la primera persona que tiene este problema: http://stackoverflow.com/q/855996/1025391 – moooeeeep