Göm menyn

TDDD86 Datastrukturer, algoritmer och programmeringsparadigm

Labb1 FAQ


Labb 1 FAQ

Q: Får jag använda min favoriteditor istället för Qt Creator?
A: Vi ger ingen support för detta. Se här för viss begränsad information i frågan.
Q: När jag försöker använda clearConsole() på skolans Linux-datorer får jag meddelandet “TERM environment variable not set.”, vad kan jag göra åt det?
A: Antagligen har du startat Qt Creator genom att dubbelklicka på en .pro-fil. Ett sätt att komma runt problemet är att starta Qt creator från kommandoraden. Ett annat sätt är att ändra på körmiljön i projektinställningarna i Qt Creator. (Klicka på Projects, välj sedan Run, klicka på Details vid Use Build Environment, klicka på Add för att lägga till en variabel TERM och ge den ett lämpligt värde, t.ex. xterm.)
Q: Hur construerar jag ett Grid-objekt? Jag försökte med new Grid med det kompilerade inte.
A: Att konstruera ett objekt i C++ har inte samma syntax som i Java. Istället för att skriva new skriver man helt enkelt satser som:
Grid<type> name;

Om du, till exempel, vill ha ett rutnät med doubles och kalla variabeln myGrid, skulle du skriva:

Grid<double> myGrid;
    
Q: Vad betyder det här felet?
error: invalid initialization of non-const reference of type 'Grid<foo>&' from an rvalue of type 'Grid<foo> (*)()'
A: Detta kan hända om du deklarerar din Grid på fel sätt:
Grid<type> name();   // nej
Grid<type> name;     // ja
Q: Varför får jag inte överföra en ifstream (file input stream) som en parameter?
A: Du måste överföra den som referens.
Q: Hur räknar man grannarna till en cell?
A: Undersök de åtta rutorna runt cellen. Var noga med att inte gå utanför rutnätets gränser om rutan du undersöker är på kanten av rutnätet. Se också till att inte räkna cellen själv som en granne.
Q: Jag har problem med att läsa filerna. Programmet kraschar hela tiden och jag får ett "file not found error". Vad är det som är fel?
A: Kom ihåg att filerna finns i samma katalog som ditt program körs i, så om användaren anger "foo.txt" behöver du öppna "foo.txt" i din kod utan några katalognamn för filnamnet. De givna kolonifilerna finns i katalogen res i arkivet med resten av projektfilerna.
Q: När jag försöker kompilera mitt program får jag felmeddelandet "cannot open output file ... \Life.exe:Permission denied". Vad betyder det? Vad gör jag åt det?
A: Det betyder att ditt körbara Life-program fortfarande exekverar efter senaste gången du startade det. Stäng ned alla tidigare startade instanser av programmet. Du kan behöva döda processerna om de inte går att stänga av från Qt Creator.
Q: Måste jag använda Grid? Kan jag inte bara använda en array?
A: Ja, du måste använda Grid.
Q: Får jag använda en STL-container istället för Grid?
A: Nej, du måste använda Grid.
Q: Får jag använda en STL-container istället för Grid?
A: Nej, du måste använda Grid.
Q: Jag kan redan C++ sedan förut, får jag använda avancerade saker som till exempel pekare i den här uppgiften?
A: Nej, håll dig till materialet vi hunnit med i kursen hittills.
Q: Får jag lägga till filer till programmet förutom life.cpp? får jag lägga till några klasser?
A: Nej, begränsa dig till life.cpp.

Sidansvarig: Ahmed Rezine
Senast uppdaterad: 2015-09-10