그래서 내가 std::vector<int> WidthNumbers = 320, 640, 1280;
처럼 뭔가를하려고하지만 컴파일러는 C++ 0X를 지원하는 경우 컴파일러는 나에게 오류 C2440: 'int' to 'std::vector<_Ty>'
std :: vector에서 오류를 수정하는 방법 <int> WidthNumbers = 320, 640, 1280;
답변
을 사용할 수 있습니다 당신은 할 수 없습니다 해당 구문을 사용하여 vector
을 초기화하십시오. C++ 0x에서는 다음을 사용할 수있는 초기화 목록을 허용합니다.
std::vector<int> WidthNumbers = {320, 640, 1280};
그러나 이것은 VS2010에서 구현되지 않았습니다.
int myArr[] = {320, 640, 1280};
std::vector<int> WidthNumbers(myArr, myArr + sizeof(myArr)/sizeof(myArr[0]));
또는
std::vector<int> WidthNumbers;
WidthNumbers.push_back(320);
WidthNumbers.push_back(640);
WidthNumbers.push_back(1280);
첫 번째 옵션을 사용할 때 다음 템플릿이 유용합니다 :'template
을 제공합니다 (MSVC++ 2010 partial support for C++0x있다) 당신이 initializer list
std::vector<int> WidthNumbers = {320, 640, 1280};
그러나 VC++ 2010의 부분 지원은이 기능을 포함하지 않습니다. –
당신은 또한이 약간 더 많은 작업입니다 boost::assign::list_of
#include <boost/assign/list_of.hpp>
#include <vector>
int
main()
{
typedef std::vector<int> WidthNumbers;
const WidthNumbers foo = boost::assign::list_of(320)(640)(1280);
}
사용할 수 있습니다,하지만 난 그것을 VS 2010과 함께 아주 잘 작동 찾을 : 대안입니다. 초기화 목록을 사용하는 대신 _vector.push_back()
메서드를 사용하여 벡터에 항목을 수동으로 추가 할 수 있습니다 (
//forward declarations
#include <vector>
#include <iostream>
using namespace std;
// main() function
int _tmain(int argc, _TCHAR *argv)
{
// declare vector
vector<int> _vector;
// fill vector with items
_vector.push_back(1088);
_vector.push_back(654);
_vector.push_back(101101);
_vector.push_back(123456789);
// iterate through the vector and print items to the console
vector<int>::iterator iter = _vector.begin();
while(iter != _vector.end())
{
cout << *iter << endl;
iter++;
}
// pause so you can read the output
system("PAUSE");
// end program
return 0;
}
이 내가 개인적으로 선언하고 벡터를 초기화하는 방법, 그것은 항상 날
- 1. std :: vector에서 여러 객체 지우기?
- 2. std :: remove가 std :: vector에서 제거되지 않습니다.
- 3. std :: vector에서 메모리를 해제 하시겠습니까?
- 4. Asp.net 오류를 수정하는 방법
- 5. 동적 메모리를 std :: vector에서 어떻게 관리합니까?
- 6. boost :: ptr_vector를 항상 std :: vector에서 사용해야합니까?
- 7. 부호없는 char std :: vector에서 unsigned char []?
- 8. std :: vector에서 무작위 삭제가 어떻게 std :: list보다 빠릅니까?
- 9. asp.net 런타임 오류를 수정하는 방법
- 10. "컴파일 오류 : 개체 필요"오류를 수정하는 방법?
- 11. __soapCall에서 반환 한 오류를 수정하는 방법?
- 12. NCover "중복 메서드가 추가되었습니다"오류를 수정하는 방법
- 13. LESS에서 "invalid argument"오류를 수정하는 방법
- 14. Simple_DOM 메모리 제한 치명적인 오류를 수정하는 방법?
- 15. PHP에서 게이트웨이 시간 초과 오류를 수정하는 방법?
- 16. 포인터를 연속 메모리 조각을 std :: vector에서 얻을 수 있습니까? <char> C++에서?
- 17. netbeans에서 오류를 수정하는 키보드 단축키
- 18. SAPI 5.1 헤더 파일에서 컴파일러 오류를 수정하는 방법
- 19. C# 목록을 수정하는 방법 <class>
- 20. <staticText> 요소를 JasperReport에서 수정하는 방법
- 21. std :: vector <std::string> 충돌
- 22. itdate std :: vector <std :: vector <char>>?
- 23. std :: sort on std :: vector <std::string>
- 24. std :: vector <std :: pair <int, std :: pair <Bone, std :: string>> int로 정렬하지 않습니까?
- 25. HTML 테이블을 특정 크기로 수정하는 방법
- 26. Python. 오류를 수정하는 방법 : "print tablecsv.read() AttributeError : 'tuple'객체에 'read'속성이 없습니다.
- 27. 레일 3.1과 루비 언어학 라이브러리 오류를 수정하는 방법 1.9.2
- 28. 미리 컴파일 된 헤더를 끄지 않고 C1010 오류를 수정하는 방법?
- 29. Netbeans에서 내부 또는 외부 명령 오류를 수정하는 방법?
- 30. DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER 오류를 수정하는 방법? 내 DTS 패키지를 예약 할 때
당신이 부스트를 사용할 수 작동합니까? –
예 부스트를 사용할 수 있습니다. =) – Rella