枚举数字

tri*_*ker 0 c++

对于我的书类,我存储了一个ISBN号,我需要验证输入的数据,所以我决定使用枚举.(前三个输入必须是单个数字,最后一个必须是字母或数字.)但是,我想知道是否甚至可以枚举数字.我已经尝试将它们作为常规整数,带双引号的字符串样式和带单引号的char样式.

例:

class Book{
public:
   enum ISBN_begin{
        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
        };
   enum ISBN_last{
        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', a, b, c, d, e, f, 
        g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z};
Run Code Online (Sandbox Code Playgroud)

编译器错误表示预期标识符,这意味着它将数字视为标识符的值而不是标识符本身.那么列举数字可能吗?

Bes*_*ska 6

我认为你会以错误的方式解决这个问题...为什么不只是使用一个简单的正则表达式来简化整个事情呢?

(是的,我知道,这不是原来的问题,但它可能会让你的生活变得更轻松.)

此页面此页面提供了一些使用正则表达式验证isbn数字的好例子.

我认为创建一个枚举,其值等于他们枚举的实体......我认为你做的比你做的要多得多.