Не могли бы вы помочь мне исправить мой код ?
я пытался запустить свой код, но вышла ошибка
class Board:public State(){ private: vector<int>blocks; public: void generateIntlState() { int bIndex = 0; intializeBlocks(); for(int r = 0; r < BOARDSIZE; r++){ for(int c = 0; c < BOARDSIZE; c++){ setVal(r,c blocks[bIndex]); bIndex ++; } } pushBlockDown(); } void intializeBlocks(){ int zeroCount = 1; for (int i = 1; i < 9; i ++){ blocks.push_back(i); if(zeroCount<=3){ blocks.push_back(0); } zeroCount++; } for( int i = 8; i > 0; i--){ int num=rand()% i; int temp = blocks[i]; blocks[i] = blocks[num]; blocks[num] = temp; } } void findActHeuristic(priority_queue<Action>&actions, Goal g){ Action a; vector<Action>actions_vec; vector<State> states; int h = 0; for(int r = 0; r < BOARDSIZE; r++){ for(int c = 0; c < BOARDSIZE; c++){ if((r != c)&&(isFull(r))&&(isEmptu(c))){ a.setAction(r,c); actions_vec.push_back(a); } } } for(int i = 0; i <actions_vec.size(); i++){ State newState = nextState(actions_vec[i]); states.push_back(newState); if(newState.getVal(g.getRow(),g.getColumn()) == g.getVal()){ h = 100; }else if(newState.isOnTop(g.getVal())&&(newState.isColumnEmpty(g.getColumn()))){ h = 95; }else if(newState.isOnTop(g.getVal())&&(newState.isBlockEmpty(g.getColumn()))){ h = 85; }else if(newState.isBlockEmpty(g.getRow(),g.getColumn())){ h = 65; }else if(newState.isColumnEmpty(g.getColumn()))&&(getRowPos(g.getVal()) > g.getRow()){ h = 55; }else if(newState.isColumnEmpty(g.getColumn())){ h = 50; }else if(newState.isOnTop(ggetVal())){ h = 40; }else if(newState.isColumnFull(g.getColumn())){ h = 1; }else{ h = 5; } actions_vec[i].setHeuristic(h); actions.push(actions_vec[i]); } template<typename T>void priority_queueQ(priority_queue<T>q){ while(!q.empty()){ q.top().printGoal(); q.pop(); } cout << endl; } } };
А если я удалю () и выйдет еще одна ошибка
Что я уже пробовал:
Это все ошибка:
error: expected class-name before '(' token| error: expected '{' before '(' token| error: expected unqualified-id before ')' token|
Richard Deeming
Четыре почти одинаковых вопроса за два дня. Я думаю, тебе нужно вернуться и перечитать свои записи в классе.
CHill60
И просто для записи, вы нигде не сможете "запустить" свою программу, она даже не будет компилироваться.