mingw编译器错误

mingw compiler errors

本文关键字:错误 编译器 mingw      更新时间:2023-10-16

首次尝试在不使用Visual Studio的情况下编译某些代码。已安装mingw并设置环境路径变量。然后尝试编译这个代码:

#include <iostream>
#include <vector>
int main() {
typedef std::vector<int> Container;
typedef std::vector<int>size_type size;
typedef std::vector<int>iterator iter;
Container container; 
for (size i = 0; i != 1000000; ++i) {
container.push_back(i);
}
for (iter i = container.begin(); i != container.end(); ++i) {
std::cout << *i << " " << std::endl;
}
system("PAUSE");
return 0;
}

打开cmd shell,转到单个源文件的目录并键入:

g++ main.cpp

但我收到了很多错误消息如下:

main.cpp: In function 'int main()':
main.cpp:6:35: error: expected initializer before 'size'
main.cpp:7:34: error: expected initializer before 'iter'
main.cpp:11:6: error: 'size' was not declared in this scope
main.cpp:11:11: error: expected ';' before 'i'
main.cpp:11:18: error: 'i' was not declared in this scope
main.cpp:15:6: error: 'iter' was not declared in this scope
main.cpp:15:11: error: expected ';' before 'i'
main.cpp:15:34: error: 'i' was not declared in this scope
main.cpp:19:15: error: 'system' was not declared in this scope

我是不是错过了一些显而易见的痛苦?谢谢

typedef std::vector<int>size_type size;
typedef std::vector<int>iterator iter;

将其转换为:

typedef std::vector<int>::size_type size;
typedef std::vector<int>::iterator iter;

向量定义和size_type之间缺少:运算符(以及后面的迭代器(。

typedef std::vector<int>::size_type应为typedef std::vector<int>::size_type size;等。