C++存在一个问题,即使用模板和模板元编程时我们所得到的错误信息非常可怕。概念(concepts)是为解决这个问题而设计的,但不幸的是它们不会出现在下一个标准中。
我在想,这个问题是否普遍存在于所有支持泛型编程的语言中?或者C++模板有什么问题?
不幸的是,我不知道还有哪种语言支持泛型编程(Java和C#的泛型太简化了,没有C++模板那么强大)。
因此,我问一下各位:D、Ada和Eiffel中的模板(泛型)是否也会产生这样丑陋的错误信息?而且是否可能拥有强大的泛型编程范式,但没有丑陋的错误信息呢?如果是,这些语言是如何解决这个问题的呢?
编辑:对于那些给我投反对票的人。我真的很喜欢C++和模板。我并不是说模板不好。实际上,我是泛型编程和模板元编程的粉丝。我只是想知道为什么编译器给我返回这样丑陋的错误信息。