2017-01-03 1 views
0

Quelqu'un peut-il trouver mon erreur?attendu unqualified-id avant int C++

#include<iostream> 

using namespace std; 

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

quand je construis montre "attendu-id non qualifié avant 'int'"

+0

Il y a trop de choses qui ne vont pas avec cette déclaration. Qu'essayez-vous de déclarer (en utilisant des mots)? – DeiDei

+0

Donnez un nom à votre fonction et faites de votre deuxième paramètre un type raisonnable –

+0

Je veux mettre une matrice dans la fonction – user7367397

Répondre

1

Il vous semble dire la

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

Voici un programme démonstratif

#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; 
} 

Sa sortie est

0 1 
2 3 

0 1 2 
3 4 5 
6 7 8 
+0

comment puis-je fixer la valeur N? – user7367397

+0

@ user7367397 Voir ma mise à jour. –