C ++错误:Wunused-but-set-variable

时间:2013-06-26 05:23:26

标签: c++ set unused-variables

当我尝试编译以下代码时,我收到标题中提到的错误:

void Sql::select(const string table, const string column, const string condition, const string condition_2, const string condition_3) {
otl_stream s;
otl_column_desc* desc;
int desc_len;

const string select = str(format("SELECT %2% FROM %1% WHERE LEFT(%3%, 8) < %6% AND %4% = 'Ausstehend' AND (%5% = '1' OR %5% = '2') ")
        % table % column % condition % condition_2 % condition_3 % getDate());

// cout << select;
    try {
        s.open(10, select.c_str(), con);
    } catch (otl_exception &e) {
        cerr << e.msg;
    }

desc = s.describe_select(desc_len);

}

我被告知otl_column_desc * desc已设置但未使用。你能告诉我那里出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

正如它所说的那样,你设置变量但不使用任何地方的值,这意味着这个变量是出于所有意图和目的,无用

desc = s.describe_select(desc_len);//value in desc never used

如果您在代码中出错,并且在打算使用此变量时使用其他变量,有时可能会发生这种情况,我想这个警告是为了捕获这些情况。

但是要回答你的问题,没有什么是错误,因为这是警告,而不是错误。这只是一个可能出错的迹象。