Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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
c++;windows上的程序(g+;+;)。main()不启动 我有一个C++项目,它由一个主函数和一个类声明组成。 我正在使用mingwg++编译我的代码_C++_Windows_Mingw_Freeze - Fatal编程技术网

c++;windows上的程序(g+;+;)。main()不启动 我有一个C++项目,它由一个主函数和一个类声明组成。 我正在使用mingwg++编译我的代码

c++;windows上的程序(g+;+;)。main()不启动 我有一个C++项目,它由一个主函数和一个类声明组成。 我正在使用mingwg++编译我的代码,c++,windows,mingw,freeze,C++,Windows,Mingw,Freeze,问题是,即使编译和链接很好,在启动程序时,进程也会冻结,并且什么也没有显示 这基本上就是main.cpp文件: int main() { printf("....\n"); system("PAUSE"); //Class instance; return 1; } .... class Class {...} .... 我对类实例化进行了注释以隔离问题 在main函数之后是类声明 要清楚的是,当从控制台运行它时,它会冻结并且不显示printf字符串 如果它有用

问题是,即使编译和链接很好,在启动程序时,进程也会冻结,并且什么也没有显示

这基本上就是main.cpp文件:

int main() {
    printf("....\n");
    system("PAUSE");
    //Class instance;
    return 1;
}
....
class Class {...}
....
我对类实例化进行了注释以隔离问题

在main函数之后是类声明

要清楚的是,当从控制台运行它时,它会冻结并且不显示printf字符串

如果它有用的话,我还将链接在类方法中使用的sfml库


我怎样才能解决这个问题?谢谢。

尝试将类声明置于主函数之上

C++要求在使用之前声明或定义任何内容。我所知道的唯一例外是经典:

int main void()
{
    //some code that does stuff;
    return 0;
}

无论出于何种目的,在使用前都不能在代码中声明。

因为这显然不是编译/链接问题,所以与声明的顺序无关。可能有很多事情。在没有看到类的定义的情况下,我们不知道它是否包含静态的用户定义类型成员,这些成员在CRT初始化期间调用了构造函数逻辑。它也可以是你的图书馆。如果已加载动态库(在*nix下为共享对象,或在Windows下为DLL),则进程加载器可能无法找到和/或加载它们,或解析依赖项。SFML是动态的吗?解决此问题的最佳方法是使用调试器。为自己准备一个IDE,并尝试在调试器中运行程序的调试版本。

sry我写了一个不好的东西。。。声明包含在主函数的上方。所以这不是问题所在。您可以向我们展示您的代码以获得更多帮助吗?问题不在于你的程序,而在于类本身。我发现g++编译得很好,甚至有些函数只在linux上可用。。。这很奇怪,他应该有爆炸和错误。。。这就是问题所在吗?