2014-11-25 3 views
-1
#include <map> 
#include <vector> 
#include <iostream> // C++ header file for I/O 
#include <fstream> 
#include <sstream> 
#include <cmath> 
#include <ctime> 
#include <vector> 
#include <ctime> 
#include <cmath> 
#include <math.h>  /* round, floor, ceil, trunc */ 
#include <map> 
#include <string.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <cstdlib> 
#include <algorithm> 
#include <map> 
#include <windows.h> 

using namespace std; 

int main() 
{ 
    int i,j; 
    int Q[10][10]={ 
    {1,0,1,0,1,1,0,1,1,1}, 
    {1,0,0,1,1,1,1,0,1,0}, 
    {0,1,1,0,0,0,0,0,0,1}, 
    {1,0,0,0,1,1,0,1,0,1}, 
    {1,1,1,1,0,0,0,0,1,1}, 
    {1,1,0,0,0,1,0,1,1,0}, 
    {1,1,0,0,0,0,0,0,1,1}, 
    {0,1,1,0,0,0,0,0,0,1}, 
    {1,1,0,0,0,0,0,0,1,1}, 
    {1,0,1,0,1,1,0,1,1,1} 
    }; 

    std::multimap<int,int> mymap; 
    std::vector<std::vector<int>> myvector; 

    for(i = 0 ; i<10 ;i++) 
    { 
     int key = 0; 
     for(j = 0 ; j<10 ;j++) 
     { 
      key += Q[i][j] << j; 
     } 
     mymap.insert(std::pair<int,int>(key,i)); 
    } 

    int maxCardinalite = 0; 
    int nbCategorie = 0; 

    for(auto iter = mymap.begin() ; iter != mymap.end() ; iter = mymap.upper_bound(iter->first)) 
    { 
     std::vector<int> mylist; 
     for(auto iter2 = iter ; iter2 != mymap.upper_bound(iter->first) ; ++iter2) 
     { 
      mylist.push_back(iter2->second); 
      maxCardinalite = (maxCardinalite > mylist.size()) ? maxCardinalite : mylist.size(); 
     } 
     myvector.push_back(mylist); 
     nbCategorie++; 
    } 

    int* R = (int*)malloc(maxCardinalite*nbCategorie*sizeof(int)); 
    ZeroMemory(R,maxCardinalite*nbCategorie*sizeof(int)); 
    std::sort(begin(myvector),end(myvector),[](std::vector<int> a, std::vector<int> b){return a[0]<b[0];}); 

    int ligne = 0; 
    for(const auto& i : myvector) // i 
    { 
     int colone = 0; 
     for(auto j : i) // j : i 
     { 
      R[ligne*maxCardinalite+colone] = j; // i 
      colone++; 
     } 
     ligne++; 
    } 

    return 0; 
} 

나는 다음과 같은 오류를 얻을. 도와 줄수있으세요?C++ : 오류 구문 오류

source3.cc (113)는 오류 C2143 : 구문 오류 ''이전 ','누락 source3.cc (113) : 오류 C2530 'I'참조 초기화해야 source3.cc (113) : 오류 C3531 : 'i': 형식에 'auto'가 포함 된 기호 에 초기화 프로그램 source3.cc (114)가 있어야합니다. 오류 C2143 : 구문 오류 : ''이 없습니다. before '{'

+4

내가 게시 한 내용이 길이가 84 줄에 불과할 때 113 행에 오류가 발생하는 경우 도움이 될 것입니다. 나를 잘못 이해하지 마라. 나는 모든 코드를 게시해야한다는 말은 아니며, 불쾌한 라인이 표시된 관련 부분 만 표시한다. – Borgleader

+1

VS 2010은 내 지식에 따라 범위 루프를 지원하지 않습니다. – molbdnilo

+1

이 코드는 VS2013에서 컴파일됩니다. 업그레이드. –

답변

0

Microsoft에 해당하는 Visual Studio 2010의 C++ 컴파일러는 범위 기반 루프를 지원하지 않습니다.

오류 메시지는 구문 분석 할 수 없다는 오류 메시지입니다.

-1

나는 모든 코드를 제공했다.

for(const auto& i : myvector) // i 
    { 
     int colone = 0; 
     for(auto j : i) // j : i 
     { 
      R[ligne*maxCardinalite+colone] = j; // i 
      colone++; 
     } 
     ligne++; 
    } 

1> C : \ 문서 및 설정 \ 클라이언트 \ 국 \ essai의 \ 존재 \ 존재 \의 source3.cc (61) : C4018 경고 : 실제로, 오류가이 블록에 ' > '로그인/부호 불일치 1> C : \ 문서 설정 \ 클라이언트 \ 국 \ essai \ 존재 \ 존재 \의 source3.cc (72) : 오류 C2143 : 구문 오류 : 누락', '이전': '1 > C : \ 문서 및 설정 \ 클라이언트 \ 국 \ essai의 \ 존재 \ 존재 \의 source3.cc (72) : 오류 C2530 : '내가'참조 초기화해야 1> C : \ 문서 및 설정 \ 클라이언트 \ 국 \ 존재 \ 존재 \ 존재 \ 소스 e3.cc (72) : 오류 C3531은 : '나는'유형이 '자동'이 포함 된 심볼은 초기화 1이 있어야합니다> C : \ 문서 및 설정 \ 클라이언트 \ 국 \ essai \ 존재 \ 존재 \의 source3. cc (73) : 오류 C2143 : 구문 오류 : ';'가 없습니다. 전에 '{'1> C : \ 문서 및 설정 \ 클라이언트 \ 국 \ essai \ 존재 \ 존재 \의 source3.cc (75) : 오류 C2143 : 구문 오류 : 실종 ','전 ':'1> C : \ 문서 및 설정 \ 클라이언트 \ 국 \ essai의 \ 존재 \ 존재 \의 source3.cc (75) : 오류 C3531 : 'J'형식 '자동'을 포함하는 초기화되어 있어야합니다 기호 1> C : \ 문서 및 settings \ client \ bureau \ essai \ presence \ presence \ source3.cc (76) : 오류 C2143 : 구문 오류 : ';' before '{'1

+0

질문을 편집하여 추가 정보를 제공하십시오 - 답변을 게시하지 마십시오 –