Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

6年前关闭。



Improve this question




因此,我尝试搜索,但没有发现我遇到的问题。

这是mazesolve.cpp:
/*
   Mazesolve
   Reads a maze from stdin and outputs
   a solution to stdout
*/


#include <sstream>
#include <string>
#include <iostream>
#include <cstdlib>
#include "mazesolve_support.h"

using namespace std;

int main()
{
//Get maze header information
stringstream ss;
string line, header_maze, header_rows, header_cols;

getline(cin, line);
ss.clear();
ss << line;

for (unsigned int i=0; i<3; i++) {
    if (i ==0) {
        ss >> header_maze;
    } else if (i == 1) {
        ss >> header_rows;
    } else if (i == 2) {
        ss >> header_cols;
    }

    if (ss.fail()) exit(1);
}

/*
cout << "header_maze = " << header_maze << "\n";
cout << "header_rows = " << header_rows << "\n";
cout << "header_cols = " << header_cols << "\n";
*/

return 0;
}

这是mazesolve_support.cpp:
#include "mazesolve_support.h"
using namespace std;

cell::cell()
{

}

maze::maze(int rows, int cols)
{

}

这是mazesolve_support.h:
#include <vector>
using namespace std;

class cell {
public:
    cell();
private:
    bool walls[4];
    int neighbors[4];
};

class maze {
public:
    maze(int,int);
private:
    vector<cell> cells;
};

我用g++ *.cpp -o mazesolve调用g++。
我得到的错误是mazemake.cpp第4行上的error: c does not name a type

据我所知g++应该在我的#include语句所在的位置复制并粘贴mazesolve_support.h,因此我将无法声明为什么会出现c。有任何想法吗?

最佳答案

您的示例代码可以使用g++ -c *.cpp -o mazesolve.o毫无问题地进行编译。

关于c++ - 错误 “c does not name a type” ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22924520/

10-15 04:54