error 编译指示

error 编译指示可使编译器输出一条包含指定内容的错误消息。但是输出了这个错误消息后,编译过程并不一定会中止。

可以给符号(比如迭代器或者过程)附加 error 编译指示。 使用 这个符号将触发静态错误。 当需要排除某些由于重载和类型转换导致的合法操作时,这个 error 就派上用场了:

  1. ## 检查所比较的是整形数值,而不是指针:
  2. proc `==`(x, y: ptr int): bool {.error.}