c++ - 自动使用无效

标签 c++ c++11 auto

在这段代码中:

for ( ;(auto i = std::find(some_string.begin(),some_string.end(),'%')) != some_string.end();)
    {

    }  

我从 gcc 4.7.1 得到错误:

error: invalid use of 'auto'|   

有什么想法吗?不应该正确编译吗?

最佳答案

我认为它与auto无关。你只是不能在随机的地方声明变量,例如这也不会编译 - 等同于你试图做的,但没有 auto:

int main() {
  for ( ; (int i = 0) != 1; ++i)
    ;   
  return 0;
}

关于c++ - 自动使用无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13681186/

相关文章:

C++11 - 将非静态数据成员声明为 'auto'

c++ - 如何将基类仅链接到其顶级模板化父级?

c++ - 有什么理由为返回 void 的函数声明 constexpr?

c++ - 如何获取指向字符串 vector 中的字符串数据的指针?

c++ - 在C++中复制两个相似的结构

c++ - 如何将 BOOST_BIND_OPERATOR( !=, not_equal ) 与未定义 != 运算符的类一起使用

c++ - 有没有办法在 C++ 的代码级别延迟类型绑定(bind)?

c++ - 1>链接: fatal error LNK1104: cannot open file 'MSCOREE.lib' `

c++ - 在不更改输入的情况下确定字符串是否为回文

c++ - 指向 unique_ptr 的裸指针