J'ai vu un certain nombre de messages à ce sujet, mais ils semblent tous être adressés lorsque spme sorte de méthode est définie. Contexte de l'application: Essayer de créer un jeu de base de Sudoku pour maîtriser le C++.C++: une référence de membre non statique doit être relative à un objet spécifique
L'erreur semble indépendante du fichier .cpp de la fonction principale, donc je l'ignorerai à moins qu'il ne soit demandé de garder l'explication courte.
Le fichier board.h:
#pragma once
class board
{
public:
board(int gameSize, int diffifuclty) : gameSize(gameSize), difficulty(difficulty) {};
~board();
private:
int gameSize; int difficulty;
int game[gameSize][gameSize][gameSize][gameSize];
void createRandom(); // Creates a random workable board.
void hasSolution(); // Checks if there's a solution from the current state.
};
Je ne l'ai pas beaucoup jonglé avec le fichier board.cpp encore, comme je l'étais occupé tout définir dans le fichier board.h pour planifier ce qui fonctionne I vouloir écrire.
De toute façon, je veux avoir un plateau de jeu avec gameSize
et difficulty
étant entré dans la console. Je reçois l'erreur mentionnée dans mon titre lorsque j'essaie de construire le tableau multidimensionnel pour le plateau de jeu. (Donc avec Sudoku, le jeu 9x9 a la taille de jeu 3 ici.)
Je ne suis pas sûr de savoir quelle est l'erreur ou comment faire de ce tableau un attribut (je ne suis pas sûr si c'est la terminologie C++, donc désolé) de la planche?
Votre tableau ne peut pas utiliser des variables membres pour la taille. ils doivent être disponibles au moment de la compilation. Donc, soit utilisez un vecteur >>> soit utilisez un vecteur de gamesize^4 avec une fonction de traduction, utilisez un int **** ou transmettez-le comme paramètre de modèle. –
Beached