【发布时间】:2013-07-15 11:27:00
【问题描述】:
给定一个 C 函数:
void f(T x, T y) {
x = y;
}
我想确保 T 分配的所有实例都将失败。到目前为止,我最好的解决方案是:
#define T const void *
有没有更好的解决方案? (理想情况下,我希望将 T 定义为某种不可分配的不透明记录指针类型)。
【问题讨论】:
-
你想确保你的函数不会编译吗?
-
不清楚你想要什么。你想让
x = y产生编译错误吗?还有什么?您只想影响f功能吗?或者这应该是一些全球行为吗?使用const void*是如何实现的?
标签: c assignment-operator strong-typing noncopyable