为每个文件创建递增的整数值

时间:2015-08-28 01:04:48

标签: c++ c++11

我正在处理每个文件生成错误代码的程序。 错误代码需要从零开始并向上递增,文件可以包含' n'错误代码。

我尝试使用 COUNTER 宏,但似乎它不能按文件运行并且正在全局递增。

如果有办法我可以为每个文件将 COUNTER 重置为零?

// a.cpp
int a_error1 = GetErrorCode(); // error1 = 0
int a_error2 = GetErrorCode(); // error2 = 1
int a_error3 = GetErrorCode(); // error3 = 2
int a_error4 = GetErrorCode(); // error4 = 3

类似地

// b.cpp
int b_error1 = GetErrorCode(); // error1 = 0
int b_error2 = GetErrorCode(); // error2 = 1
int b_error3 = GetErrorCode(); // error3 = 2
int b_error4 = GetErrorCode(); // error4 = 3

我不想拥有像

这样的东西
// a.cpp
int a_error1 = 0 
int a_error2 = 1 
int a_error3 = 2 
int a_error4 = 3 

因为这容易出错且可能包含重复值。

总之,问题是:如何为每个文件从零开始生成增量int值?

1 个答案:

答案 0 :(得分:0)

您所描述的内容基本上是一个枚举:

enum a_error {
    a_error1, // value will be 0
    a_error2, // 1
    a_error3, // ...
    a_error4
};

考虑范围内的枚举是否会更适合您的设计。

相关问题