是否可以在一对中添加一个int?

时间:2013-04-17 18:06:47

标签: c++ c type-conversion

这是c和c ++中的有效操作吗?

daysgoneby += months[monthindex].day;

基本上将一个字段从查找表添加到一个int(在这种情况下,它是一个int到一个int,所以它似乎有效)。

其中daysgoneby的类型为int,months[monthindex].day指的是下表。

如果不是为什么?以及如何绕过这个来使用表中的int类型。

struct Monthpairs                       // Fields for month & day lookup
{
    const char* mon;                    // Months
    int day;                            // Days
};

Monthpairs months[] =                   // Lookup table for months & day
{
    {"Jan", 31},
    {"Feb", 28},
    {"Mar", 31},
    {"Apr", 30},
    {"May", 31},
    {"Jun", 30},
    {"Jul", 31},
    {"Aug", 31},
    {"Sep", 30},
    {"Oct", 31},
    {"Nov", 30},
    {"Dec", 31},
};

1 个答案:

答案 0 :(得分:1)

您的陈述完全没问题,最终查找表中的day字段也只是int

关于你的问题的标题,虽然在你的对中使用特定的字段很好(只要类型对于运算符/函数是正确的),你不能添加到对本身,因为它的类型不匹配运营商的期望。