【发布时间】:2021-01-02 20:53:40
【问题描述】:
我的代码包括以下内容,我根据下面的最后一行收到上面的错误消息。
struct List {
int word_i;
int mod_i;
char mod_type;
char mod_char;
};
struct Morph {
Options mode;
deque<List> search_list;
vector<string> dictionary;
vector<bool> discovered;
string output;
int sel_word_i = 0;
bool end_found = 0;
};
// later on in a function:
morph->search_list.push_back({ morph->dictionary.size() - 1, 0, 0, 0 });
【问题讨论】:
-
morph->dictionary.size()返回一个未签名的size_t。为了以这种方式使用它,您需要转换为int。 -
当
size()返回0时,0 - 1是什么? -
您想知道为什么编译器会报告这种警告吗?您是否关心如何删除警告?
标签: c++ compiler-errors type-conversion integer unsigned