在'。'之前预期的初级表达代币

时间:2015-12-05 21:44:59

标签: c++ gcc g++

我收到错误: expected primary-expression before '.' token 在以下程序中:

#include <iostream>

int main() {
    struct a {
        int y;
    };

    int n = 0;
    n = a.y;

    std::cout << "n: " << n << "\n";

    return 0;
}

我在vim中使用gcc g ++编译器和Syntastic。这不应该起作用吗?

1 个答案:

答案 0 :(得分:3)

a类型不是对象

在使用任何成员之前,您需要创建a的实例:

a b = { 1 };

int n = 0;
n = b.y;

std::cout << "n: " << n << "\n";