创建函数时收到"expected unqualified-id"

Receiving "expected unqualified-id" when creating a function

请耐心等待,因为我来自纯粹的 Java/Python 背景并且在 C++ 基础知识 方面有大约 10% 的知识。

我正在为 Lexer 定义标记化 class,并且已经 运行 遇到问题,Eclipse 编译器抛出:

expected unqualified-id

就是这样。没有任何信息。无论我如何命名我的函数,都会弹出同样的错误。我认为这可能与我使用 vector<string> tokenise 的方式有关,但我不知道...

我这样设置 hcpp 文件:

lexer.h

#ifndef LEX_LEXER_H_
#define LEX_LEXER_H_

#include <string>
#include <vector>
using namespace std;

struct token;

vector<token> tokenise(vector<string> data);

#endif /* LEX_LEXER_H_ */

lexer.cpp

#include <iostream>
using namespace std;

enum token_type {
    // Operations.
    ADD, SUB, MUL, DIV, MOD,
    // Bitwise operations.
    BITL, BITR,
    // Keywords.
    DEFINE,
    // Primitives.
    INT, FLOAT, CHAR, STRING, BOOL
};

struct token {
    token_type type;
    string data;
};

vector<token> tokenise(vector<string> data) { // <<< throwing the error
    vector<token> tokens;
    for (string s : data) {
        for (char& c : s) {
            cout << c << endl;
        }
    }
    return tokens;
}

您需要在 lexer.cpp

中包含 lexer.h