【发布时间】:2011-12-04 05:51:02
【问题描述】:
我想做一些 STL 集,但是当我这样做时告诉我
error C2143: syntax error : missing ';' before '<'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2238: unexpected token(s) preceding ';'
意思是我没有包含正确的标题定义 (#define <set>) 但我有。套装是否位于不同的位置?源码是这样的
set<int> playerlist;
头文件是...
#include <iostream>
//#include "winsock2.h"
#include "Ws2tcpip.h"
#include <list>
//#include <windows.h>
#include <process.h>
#include <stdio.h>
#include <string>
#include <fstream>
#include <map>
#pragma comment(lib, "ws2_32.lib")
using namespace std;
#include <set>
【问题讨论】:
-
你做了
using namespace std;吗?您需要从命名空间中指定它。std::set<int>也可以。 -
¤ 确保您
#include <set>。请注意,预处理器指令是#include,而不是#define。然后要么编写合格的std::set而不是普通的set,或者使用using namespace std或using std::set指令。干杯&hth, -
我正在使用 std,我尝试了 std::set
mylist -
您能告诉我们您的项目包含的所有 STL 标头以及顺序吗?
-
是的,指令是#include