2013-11-24 2 views
-2

내가 QT 작성자와 엑스 코드 4.63 (OSX의 MAV) 난 그냥 .set(....) 전화에는 멤버는

를 사용하고

no member named 'set' in 'std::vector<int, std::allocator<int> >

보일 오류를 다음있어 ' 는 표준 : : 벡터'에서 '설정되지'라는 이름 내가 QT 제작자를 처음 접했을 때부터 lib를 잘못 생각한 것처럼 나는 그것을 올바르게 만드는 방법을 아직 모르고있다. (저는 C++을 처음 사용합니다)

#include <cctype> 
#include <cmath> 
#include <fstream> 
#include <iostream> 
#include <sstream> 
#include <string> 
#include "console.h" 
#include "filelib.h" 
#include "grid.h" 
#include "gwindow.h" 
#include "simpio.h" 
#include "vector.h" 
using namespace std; 

int main() { 
    vector<int> myVector(10,0); 

    fstream mystream; 
    string getStream; 

    while(getline(mystream,getStream)) { 
     getline(mystream,getStream); 
     if(stringToInteger(getStream)>=0 && stringToInteger(getStream)<=9) { 
      myVector.set(0,(myVector[0]+1)) 
     }; 
    } 
    return 0; 
}; 
+8

오류는 매우 분명하다 : 당신이 값을 변경하려는 경우는 [] 연산자를 사용할 수 있습니다. 그 기능은 존재하지 않습니다. 'myVector.kerfluffle() '를 호출하면 같은 문제가 발생할 수 있습니다. –

+0

오류가 명확합니다.'std :: vector'에는'set'이라는 메서드가 없습니다. – juanchopanza

+0

사이드 노트 : 닫는 중괄호'}에 불필요한 세미콜론이 있습니다. ' – Hulk

답변

2

STL의 벡터에는 "set"메서드가 없습니다.

myVector[0] = myVector[0] + 1; 

또는

myVector[0]++; 
+3

'assign'은 다른 것입니다 – Paranaix

+0

.. 존재하지 않는 함수를 사용하여 포스터가 무엇을하려했는지에 대한 지식이 있습니까? :) – fpw

+2

그것은 중요하지 않습니다, 할당 뭔가 완전히 다른 코드를 게시했습니다 – Paranaix

관련 문제