我有一个名为“count”的 C 函数,如下所示:
void count(){
static int c = 0;
printf("Counter=%i", c);
c++;
}
此外,我有一个 Cpp 对象向量,每个对象都调用“计数”函数。由于计数器变量是静态的,一个对象的调用也会增加所有其他对象的计数器值。我真正想要的是每个对象的专用计数器,因为“计数”功能是被测设备并且可能不会更改。我认为这应该可以使用命名空间......有什么想法吗?
我最初的想法是使用命名空间......
namespace c1 {
#ifdef __cplusplus
extern "C" {
#endif
#include "count.h"
#ifdef __cplusplus
}
#endif
}
namespace c2 {
#ifdef __cplusplus
extern "C" {
#endif
#include "count.h"
#ifdef __cplusplus
}
#endif
}
并像这样从 Cpp-Object 内部调用...
if (objNr == 1) c1::count();
else if (objNr == 2) c2::count();
...
它对我不起作用。知道为什么吗?