Все переменные, объявленные в int
, не работают в int
pickword. Он просто говорит «variable not declared in this scope
». Эта проблема исчезает, когда я объявляю все переменные до int
. Но я стараюсь избегать использования глобальных переменных, но статическое слово ничегоПеременная не объявлена в области
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
pickword();
int main()
{
static struct word
{
string indefSing;
string defSing;
string indefPlural;
string defPlural;
};
static word aeble = {"aeble", "aeblet", "aebler", "aeblerne"};
static word bog = {"bog", "bogen", "boger", "bogerne"};
static word hund = {"hund", "hunden", "hunde", "hundene"};
static string promptform;
static string wordform;
static word rightword;
void pickword();
cout << "Decline the word " << rightword.indefSing << "in the " << promptform << endl;
return 0;
}
void pickword()
{
cout << "welcome to mr jiggys plural practice for danish" << endl;
pickword();
using namespace std;
srand(time(0));
int wordnumber = rand()% 3;
switch (wordnumber) //picks the word to change
{
case 0:
rightword = aeble;
break;
case 1:
rightword = bog;
break;
case 2:
rightword = hund;
break;
};
int wordformnumber = rand()% 3;
switch (wordformnumber) //decides which form of the word to use
{
case 0:
wordform = rightword.defSing;
promptform = "definite singular";
case 1:
wordform = rightword.indefPlural;
promptform = "indefinite plural";
case 2:
wordform = rightword.defPlural;
promptform = "indefinite Plural";
};
}
связаны: бесконечную рекурсию 'pickword()' является авария поезда в изготовлении. Надеюсь, вам понравится это приветственное сообщение, потому что вы собираетесь увидеть его * много. – WhozCraig