c - 继续收到 "too many initializers"错误

标签 c visual-studio

我目前正在尝试为一个赋值编写代码,就在我认为我可以完成的时候,我不断收到太多初始化错误,这是一个赋值,所以它必须是一个 int

这是我的结构:

struct Address {
    int streetNumber;
    char streetName[41];
    int apartmentNumber;
    char postalCode[8];
    char city[41];
};

这是我的代码:

int main(void) {
    struct Address addy = { { 0,"",0,"","" } };

当我放下第二个 {} 时,它可以工作,但我正在上传的服务器不会接受它,除非我使用双 {}

最佳答案

下面的初始化器有问题

struct Address addy = { { 0,"",0,"","" } }; 

因为 struct Address 的第一个成员,即 streetNumber,不能用 { 0,"",0,"",""}

这就是编译器警告您的内容。

您多了一副牙套。将该行更改为:

struct Address addy = { 0, "", 0, "", "" }; 

对您看到该错误的其他行进行类似的更改。

关于c - 继续收到 "too many initializers"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55114511/

相关文章:

visual-studio - 使用 VSTS 构建包含 VSTS 包和旧式 csproj 的解决方案

c - 如何为字符串而不是整数创建二叉搜索树?

c - 链接的默认函数实现

c - 为什么calloc指针类型是void *?

c# - 检测矩形经过黄色像素

c# - 如何从控制台应用程序跟踪 MongoDB 请求

c - 确定消息是否太长而无法嵌入图像

c - 在C中的两个特定字符串之间提取字符串

c++ - 如何在 Visual Studio 解决方案构建期间限制并行 cl.exe 进程的数量?

C++ 程序在退出时崩溃