2014-01-13 52 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

相關問題