我需要转换一些代码,使其不包含“ auto”关键字

时间:2019-04-17 16:19:09

标签: c++

我创建了一个程序,但是在代码中我使用了“ auto”,发现我不允许这样做。我无法弄清楚如何不使用它,因为我总是使用它。任何帮助或提示将不胜感激。

这是我的代码:

  color   shape
1   red  square

2 个答案:

答案 0 :(得分:4)

您应该使用str.rbeghin()返回的正确类型来替换汽车,所以我想这应该足够了

for (std::string::reverse_iterator it=str.rbegin(); it!=str.rend(); ++it)

答案 1 :(得分:0)

您的问题有点令人困惑,因为您还没有解释为什么您不能使用它,我将假设它拒绝了您的程序。

很长时间以来,Gcc默认使用c ++ 98。如果您仍在使用它,请尝试更改默认标准。这可以通过标志-std =完成。 一些可能的值包括:c ++ 11(引入它的官方标准),c ++ 0x(c ++ 11的预发布实现),c ++ 14,c ++ 17,c ++ 2a

如果您使用其他编译器(例如Clang),则可以使用相同的标志。 MSVC使用/ std =,唯一支持的值为c ++ 14,c ++ 17和c ++-latest。

如果您的编译器太旧而无法支持其中任何一个,则建议升级您的编译器。