Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不同类中同名全局变量的双重初始化_Java_Android_C++_Matlab_Java Native Interface - Fatal编程技术网

Java 不同类中同名全局变量的双重初始化

Java 不同类中同名全局变量的双重初始化,java,android,c++,matlab,java-native-interface,Java,Android,C++,Matlab,Java Native Interface,我已经在谷歌上搜索过了,但是我还没有找到我想要的答案 我使用JNI实现了一些MATLAB生成的代码。因为我需要同时运行两次,所以我实现了这个基于类的类,然后初始化了这个类的两个实例 但是,它们确实包含很多全局变量初始化,因此当我以这种方式使用它时,两个实例的输出都是完全错误的,我无法解释原因(我使用matlab实现进行了检查) 然后,我实现了与独立库相同的解决方案,这些库可以正常工作 我现在想知道为什么另一个实现不起作用。 在C++中,省略静态并不意味着外部定义,不是吗? 两个类实例引用的变量是

我已经在谷歌上搜索过了,但是我还没有找到我想要的答案

我使用JNI实现了一些MATLAB生成的代码。因为我需要同时运行两次,所以我实现了这个基于类的类,然后初始化了这个类的两个实例

但是,它们确实包含很多全局变量初始化,因此当我以这种方式使用它时,两个实例的输出都是完全错误的,我无法解释原因(我使用matlab实现进行了检查)

然后,我实现了与独立库相同的解决方案,这些库可以正常工作

我现在想知道为什么另一个实现不起作用。 在C++中,省略静态并不意味着外部定义,不是吗? 两个类实例引用的变量是否相同,即使它们应该在单独的实例中初始化

我很抱歉,如果这是一个愚蠢的问题,我问的是一个明显的问题,我在我的学士学位论文的最后一周,我的大脑被炸了

谢谢

编辑:当然,代码:

它基本上是这样的:

ClassName* ClassName::p_ClassName //Definition in Header

ClassName::ClassName(){


{

ClassName::~ClassName
{
   p_ClassName = NULL;

}


GlobalVariable variableName;


ClassName::funktion(){

variableName = value;

}

是的,省略
static
表示函数或变量是全局的(但不一定跨库导出)


例如,请参阅发布一些代码将有助于澄清您的问题-如何声明变量、如何初始化和使用变量。是的,您是对的!编辑“两个类实例引用相同的变量吗,即使它们应该在单独的实例中初始化?”拥有全局变量意味着它不是每个类实例单独的,而是在库中共享的。如果你想拥有每个对象的变量,那么让它们成为类的非静态成员。非常感谢!这是我所期望的,我需要确认!好的,我只能发现C是真的,没有发现任何关于C++的真实性,但是如果是这样的话,我肯定怀疑了!