2017-01-03 3 views
0

Может кто-то найти мою ошибку?ожидаемый unqualified-id до int C++

#include<iostream> 

using namespace std; 

void (int n, int &M[][]){ 
//here comes my code 
} 

, когда я построить шоу "ожидается неквалифицированный-идентификатор перед 'межд'"

+0

С этим заявлением слишком много чего не так. Что вы пытаетесь объявить (используя слова)? – DeiDei

+0

Дайте вашей функции имя и сделайте свой второй параметр разумным. –

+0

Я хочу поместить матрицу в функцию – user7367397

ответ

1

Кажется, что вы имеете в виду следующего

template <size_t N> 
void process_matrix(int (&M)[N][N]) 
{ 
    //here comes my code 
} 

Вот демонстративной программе

#include <iostream> 

template <size_t N> 
void process_matrix(int(&m)[N][N]) 
{ 
    for (size_t i = 0; i < N; i++) 
    { 
     for (size_t j = 0; j < N; j++) m[i][j] = i * N + j; 
    } 

    for (const auto &row : m) 
    { 
     for (int x : row) std::cout << x << ' '; 
     std::cout << std::endl; 
    } 
} 

int main() 
{ 
    int m1[2][2]; 

    process_matrix(m1); 

    std::cout << std::endl; 

    int m2[3][3]; 

    process_matrix(m2); 

    std::cout << std::endl; 

    return 0; 
} 

Его выход составляет

0 1 
2 3 

0 1 2 
3 4 5 
6 7 8 
+0

как исправить значение N? – user7367397

+0

@ user7367397 См. Мое обновленное сообщение. –

Смежные вопросы