如果我 typedef
某个结构(仿函数)中的某个类型,typedef
的范围是该结构的局部范围吗?
考虑下面的例子,我在两个独立的仿函数中将 foo 类型定义为 int
和 double
。这个例子正确吗?
template <typename T>
struct firstfunctor
{
typedef int foo;
foo operator()(const foo& a, const foo& b)
{
return /*whatever*/
}
};
template <typename T>
struct secondfunctor
{
typedef double foo;
foo operator()(const foo& a, const foo& b)
{
return /*whatever*/
}
};
最佳答案
是的,typedef 是有作用域的,您可以分别定义成员 类型firstfunctor::foo
和secondfunctor::foo
。
关于c++ - 了解两个结构(仿函数)中 typedef 的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8840501/