如何在C ++中编译模板类

时间:2014-12-03 01:09:00

标签: c++

我在程序中使用的每个模板类都出错了。即使我从网站复制解决方案并尝试编译它也会产生错误,例如,

set_prac.cc: In function ‘int main()’:
set_prac.cc:10:13: error: ‘it’ does not name a type
for (auto it = std::begin(foo); it!=std::end(foo); ++it)
         ^
set_prac.cc:10:35: error: expected ‘;’ before ‘it’
for (auto it = std::begin(foo); it!=std::end(foo); ++it)
                               ^
set_prac.cc:10:35: error: ‘it’ was not declared in this scope
set_prac.cc:10:39: error: ‘end’ is not a member of ‘std’
for (auto it = std::begin(foo); it!=std::end(foo); ++it)

.................. ..................

该计划是, http://www.cplusplus.com/reference/iterator/begin/

它的网站运行正常。编译具有模板的C ++代码是否需要任何额外的功能?

我正在编译它,

g ++ example.cc

1 个答案:

答案 0 :(得分:0)

正如评论中其他人所指出的,如果您使用C ++ 11功能,则需要包含-std=c++11,因为gcc默认采用c ++ 03。根据您使用的gcc版本,您可能需要使用-std=c++0x代替:

g++ -pedantic -std=c++0x example.cc -o example