2012-02-20 2 views
1
string months[3][12]; 
months[0][12] = {"January", "February", "March", "April", 
    "May", "June", "July", "August", "September", "October", 
    "November", "December"}; 
months[1][12] = {"january", "february", "march", "april", 
    "may", "june", "july", "august", "september", "october", 
    "november", "december"}; 
months[2][12] = {"1", "2", "3", "4", "5", "6", "7", "8", 
    "9", "10", "11", "12"}; 

작동하지 않으면 어떻게 작동시킬 수 있습니까? , 또는 어떻게하면 더 잘 작동 할 수 있습니까?이 작품이 좋을까요? 다차원 배열을 만들려고 노력 중이며 Java에서 작동 할 것이라고 확신하지만 C++에 대해 잘 모르겠습니다.

+1

더 좋은 방법은 우리가 열거 형을 사용하여 모든 배열하지 않는 것입니다. – Shahzeb

답변

1

는 개별적으로 내부 배열을 할당 할 수 있지만 배열을 정의 할 때이 작업을 수행 할 수 있습니다

string months[3][12] = { 
    {"January", "February", "March", "April", 
    "May", "June", "July", "August", "September", "October", 
    "November", "December"}, 
    {"january", "february", "march", "april", 
    "may", "june", "july", "august", "september", "october", 
    "november", "december"}, 
    {"1", "2", "3", "4", "5", "6", "7", "8", 
    "9", "10", "11", "12"} 
}; 
+0

고마워. 이것은 효과가 있었다. – user1220165

0

아니,하지 않습니다. 첫째, 초기화 외부에서 초기화 프로그램을 사용할 수 없습니다. 이 같은 시도해야합니다 : 비록

string months[3][12] = {{"January", "February", "March", "April", 
    "May", "June", "July", "August", "September", "October", 
    "November", "December"}, {"january", "february", "march", "april", 
    "may", "june", "july", "august", "september", "october", 
    "november", "december"}, {"1", "2", "3", "4", "5", "6", "7", "8", 
    "9", "10", "11", "12"}}; 

, 새로운 C++ 11 표준 (일부 변경) 유효하지만 당신은 std::vector를 사용하는 경우에만. 두 번째 문제는 배열에 문자열을 할당하려고한다는 것입니다. 대신 months[1][12]의, months[1]을 사용 C++에서

vector<vector<string>> months(3); 
months[0] = {"January", "February", "March", "April", 
    "May", "June", "July", "August", "September", "October", 
    "November", "December"}; 
months[1] = {"january", "february", "march", "april", 
    "may", "june", "july", "august", "september", "october", 
    "november", "december"}; 
months[2] = {"1", "2", "3", "4", "5", "6", "7", "8", 
    "9", "10", "11", "12"}; 
0

은 다음과 같습니다

int mat[][]={{1,2,3,4}, {5,6,7,8}, {9,10,11,12},};

+0

안녕하세요. 사이트를 알기 위해서는 FAQ를 반드시 읽어보십시오. 이미 답변 된 질문에 아무 것도 추가하지 않은 게시 답변은 매우 유용하지 않다고 간주됩니다. 답이없는 질문부터 시작하는 것이 좋습니다. – pmr

관련 문제