【发布时间】:2019-01-10 20:05:48
【问题描述】:
我的应用程序中确实需要一个新的数据类型,它只存储从 -10 到 10 的数字。有没有办法创建具有特定值的数据类型,如果值无效会引发错误?我用过:
typedef int digit;
发生的事情是创建了一个实际上是 int 的新数据类型。 我也试过这个:
typedef int{-10 > int value < 10} digit;
但它提出了这个:
exit status 1
main.cpp:3:12: error: expected unqualified-id before '{' token
typedef int{-10 > int value < 10} digit;
^
main.cpp:3:35: error: 'digit' does not name a type; did you mean 'div_t'?
typedef int{-10 > int value < 10} digit;
^~~~~
div_t
【问题讨论】:
-
C++ 不是 ADA。基本类型不可能。您可以编写一个类来处理数据类型。您可以重载大多数运算符,从而以自定义方式处理溢出。
-
还有其他方法吗?
-
嗨@Kamil,请使用答案部分的答案谢谢
-
这可能是一个不错的功能