2017-04-21 2 views
-3

J'essaye de créer un tableau où l'utilisateur sort des limites et exécute un message d'erreur. Je voulais accéder à chaque élément du tableau et une fois que je passe le dernier élément, il va exécuter le message. C'est ce que j'ai jusqu'à présentCréation d'un tableau pour sortir des limites

using namespace std; 
class safeArray{  //line1  
public: int array[]; //line2 
}; 

void outofBounds(int array[],int sizeofArray); //line3 

int main() {    //line4 
int array [3]={2,4,6}; //line5 

outofBounds (int array[],int sizeofArray){ //line6 
    for (int i=0;i<sizeofArray;i++){  //line7 
     i++        //line8 
    } 
    if (int i=0;i>sizeofArray){         //line9 
    cout<<"safeArray array (" <<list[0]<<","<<array[3]<<endl; //line10 
    } 
} 
return 0;} 

Je suis en train confus parce que la ligne 6 montre comme une erreur? . Il est demander un (devant sizeofArray Pourquoi est-ce

Edit:?..

a fait quelques modifications obtenir encore une erreur

#include <iostream> 
using namespace std; 

class safeArray{ 
public: 
void outofBounds(int,int); 
int yourArray[3]; 
int i; 
}; 

void outofBounds(int,int); 
int yourArray[3]; 
int i; 

int main() { 
void outofBounds(int,int); 
int yourArray[3]; //Error: Unused Variable 'yourArray' 
return 0; 
}; 

void outofBounds(int yourArray[],int sizeofArray) { 

for (i=0;i<sizeofArray;i++){ 
cout<<"Please enter integer"; 
cin >>yourArray[i]; 
yourArray[i]++; 

for (i=0;i>sizeofArray;){ 
cout<<"safeArray yourArray ("<<yourArray[0]<<","<<yourArray[3]<<")"<<endl; 
    } 
}  
} 
+1

'using namespace std' et en utilisant le nom' array' (qui est dans 'std') pour aller en difficulté – Jarod42

+1

Afficher le message d'erreur. –

+1

Vous ne pouvez pas définir une fonction dans une autre fonction: http://stackoverflow.com/questions/4324763/c-can-we-function-in-function-functions – vu1p3n0x

Répondre

2
  1. Vous n'utilisez pas votre classe
  2. Lorsque vous utilisez des tableaux, vous devez soit y mettre les valeurs, soit lui donner une taille
  3. Vous ne pouvez pas faire de fonction dans une autre fonction
  4. Lorsque vous avez un tableau dire array[3]={2,4,6}, en disant array[3], n'a pas de sens, les tableaux commencent à partir de 0 indice 0-> 2, 1-> 4, 2-> 6
  5. Vous n'appelez pas votre fonction de n'importe où, afin d'utiliser la fonction que vous devez appeler quelque part
  6. ne regardez pas comme vous avez besoin d'une classe

n'a pas testé le code, comme je ne comprends pas exactement ce que vous essayez de atteindre, mais cela semble mieux

void outofBounds(int myArray[],int sizeofArray); 

int main() 
{    
    int myArray [3]={2,4,6}; 

    return 0; 
} 

outofBounds (int myArray[],int sizeofArray) 
{  
    for (int i=0;i<sizeofArray;i++) 
    {   
     if (int i==0 && i>sizeofArray) 
     {         
     std::cout<<"safeArray array" <<list[0]<<","<<myArray[2]<<std::endl; 
     } 

     i++ 
    } 
} 
+0

J'ai fait quelques changements et implémenté quelques modifications. J'apprends toujours cpp et j'ai oublié que le main() est une fonction. J'ai essayé de faire les éléments du tableau 3 afin de placer une limite. Donc, chaque fois que l'utilisateur accède à l'élément "out-of-bounds". Dans ce cas, j'essayais seulement d'avoir [0] [1] [2] accessible. Faire passer l'utilisateur à travers une boucle pour les faire sortir des limites. J'avais besoin de faire un cours, c'était nécessaire. Merci beaucoup pour votre aide. – Jen

+0

Je ne suis pas un expert, mais je ne pense pas que vous le pouvez. Un accès hors limites à un tableau provoque un comportement indéfini en C++, il ne lancera pas d'exception, si vous avez vraiment de la chance, il pourrait tomber en panne. Si vous devez faire cela, utilisez 'std :: Array', la fonctionnalité 'at', ou utilisez 'vectors' – BlooB