在Visual c++代码模型中,如何知道函数是否具有未指定数量的参数(如可变参数模板或省略号)?例如,如果源代码具有:
template<class... Ts>void func(Ts... v){ }
template<class... Ts>
void func(Ts... v){ }
字符串使用(c#代码)VCCodeModel.Functions.Item("func").Parameters.Count给出1。所以我想不出一种方法来知道它是一个可变模板。
VCCodeModel.Functions.Item("func").Parameters.Count
gpnt7bae1#
获取特定参数的VCCodeParameter对象。如果使用可变参数模板,则VCCodeParameter.Name的前面将有一个“...”。如果使用省略号,则VCCodeParameter.TypeString将是“..."。可以通过这种方式检查函数中的所有参数,以确定函数是否具有未指定数量的参数。我不知道这种技术是否适用于所有情况。
VCCodeParameter
VCCodeParameter.Name
VCCodeParameter.TypeString
1条答案
按热度按时间gpnt7bae1#
获取特定参数的
VCCodeParameter
对象。如果使用可变参数模板,则VCCodeParameter.Name
的前面将有一个“...”。如果使用省略号,则VCCodeParameter.TypeString
将是“..."。可以通过这种方式检查函数中的所有参数,以确定函数是否具有未指定数量的参数。我不知道这种技术是否适用于所有情况。