在 Haskell 中有一个常量调用undefined
,你可以使用它来声明一个函数而不定义它(即一个空主体的函数原型),就像square
在
square :: Int -> Int -- declaration
square = undefined -- empty definition
main = putStrLn.show.square $ 3
这对于推迟工作square
并首先专注于main
正确处理函数非常有用,因为 Haskell 编译器确保整个文件像square
已定义一样编译。
C++ 等价物是
#import <iostream>
int square(int x){
//TODO incomplete
return 0;
}
int main() {
std::cout << square(3);
}
我的意图是单独调用一个编译器clang++
作为类型检查器,然后再继续工作。想象一下,这确实是许多尚未定义的复杂函数之一,它们返回具有非平凡构造函数的复杂数据结构。我必须编写大量代码来创建可返回对象,以便编译函数。main
square
square
C++ 中是否有类似的快速而肮脏的东西undefined
?