2014-01-13 51 views
0

我想写一个函数,但我得到一个编译器错误。我做错了什么?如果它真的很愚蠢,我很抱歉。晚了。C++错误:'int'之前的预期标识符

下面的代码:

#include <list> 
#include <iostream> 

std::list<std::string> insertinlist(std::list<std::string> listofitems, std::int iterator1, std::string newitem){ 

list<std::string>::iterator listofitemsiterator = listofitems.begin(); 
if(iterator1 <= listofitems.size()){ 
    for(std::size_t i=0; i<iterator1; i++){ 
    listofitemsiterator++; 
    } 
    listofitems.insert(listofitemsiterator, newitem); 
}else std::cout << "U suck" << std::endl; 
return listofitems; 

} 

所以呀......编译器提供了以下错误

g++ -Wall -g -std=c++11 *.cpp -o practice1 
In file included from practice1.cpp:6:0: 
insertinlist.h:4:78: error: expected identifier before ‘int’ 
std::list<std::string> insertinlist(std::list<std::string> listofitems, std::int iterator1, std::string newitem){ 
                      ^
insertinlist.h:4:82: error: two or more data types in declaration of ‘iterator1’ 
std::list<std::string> insertinlist(std::list<std::string> listofitems, std::int iterator1, std::string newitem){ 
                       ^
insertinlist.h:4:91: error: expected ‘)’ before ‘,’ token 
std::list<std::string> insertinlist(std::list<std::string> listofitems, std::int iterator1, std::string newitem){ 
                         ^
insertinlist.h:4:105: error: expected initializer before ‘newitem’ 
std::list<std::string> insertinlist(std::list<std::string> listofitems, std::int iterator1, std::string newitem){ 
+2

什么是'std :: int'? –

+0

int是内置类型。它不在命名空间标准。并使用“使用命名空间标准”。这将使你的代码更加干净。 – CreativeMind

+3

这是一种**昂贵的**方式插入一个项目到'std :: list' – WhozCraig

回答

3

int是内置型。它不在namespace std中,只需使用int,而不是std::int

+1

谢谢!我不知道。哈哈。上周刚刚开始用C++编程。谢谢你不是像Moo果汁一样的混蛋。 – Landon

+1

@Landon,一个混蛋?这是一个完全有效的问题! –

+0

是的,那是代码的问题。你知道你自己的问题的答案。这就是所谓的讽刺。不是吗? – Landon

相关问题