0

1.这是我的课:

struct SymbolToken {
    std::string name;
};

struct QuoteToken {
};

struct ConstantToken {
    int value;
};

2.我有以下typedef:

typedef std::variant<SymbolToken, QuoteToken, ConstantToken> Token;

3. 我想写一个断言:

assert(Token{ConstantToken{4}} == Token{ConstantToken{4}}) // fine
assert(Token{ConstantToken{3}} == Token{ConstantToken{4}}) // exception

我该如何实施?

4

1 回答 1

2

==在包含的类型上实现。

对于 Quote,始终返回 true。

可能也!=出于理智的考虑而实施。

于 2018-11-02T02:08:27.237 回答