Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++] Assegnazione matrice

    Ho questo codice:
    Codice PHP:
    #include <iostream>
    #include <stdlib>
    using namespace std;

    int matrice(int m[100][100]) {
        return 
    m[0][0];
    }

    int main()
    {
        
    int k 100;
        
    int m[k][k];
        
    matrice(m);
        
    system("PAUSE");
        return 
    0;

    Mi genera l'errore: "13: passing `int (*)[((k - 1) + 1)]' as argument 1 of `matrice(int (*)[100])'", ma non riesco a capire che problema ci sia.
    Se invece di assegnare la matrice come m[k][k] la assegno con m[100][100] funziona!
    Lo stesso accade se invece di utilizzare una variabile k, utilizzo una costante k.
    Qual è il problema?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    127
    prova così
    codice:
    int matrice(int m[][100]) {     return m[0][0]; }
    e lascia tutto invariato, vedi se continua a dare errore...

    altrimenti porta quel int k fuori dal main rendendolo globale...

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    225
    per allocare staticamente la matrice k deve essere costante in quanto il compilatore deve conoscere il suo valore nel momento della compilazione, metti quindi
    codice:
    const int k=100;

  4. #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.