2014-01-13 2 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는 기본 제공 유형입니다. 네임 스페이스 std에 없습니다. 그리고 "using namespace std"를 사용하십시오. 이렇게하면 코드를 훨씬 깨끗하게 만들 수 있습니다. – CreativeMind

+3

그것은'std :: list'에 아이템을 삽입하는 ** 비싼 ** 방법입니다. – WhozCraig

답변

3

int가 내장되어 유형 다음과 같은 오류를 제공합니다. namespace std에 없으므로 이 아니라 int을 사용하면됩니다.

+1

감사! 나는 몰랐다. 하하. 지난 주 C++에서 프로그래밍을 시작했습니다. Moo-Juices와 같은 얼간이가 아닌 것에 대해 감사드립니다. – Landon

+1

@ 랜든, 얼간이? 그것은 아주 유효한 질문이었습니다! –

+0

예, 코드에 문제가 있습니다. 당신은 자신의 질문에 대한 답을 알고있었습니다. 그건 풍자라고합니다. 그렇지 않습니까? – Landon

관련 문제