标签: visual-c++

避免'缓冲区溢出'C6386警告

在我的代码中,我使用的xyz是10个对象的数组.当我尝试使用unsigned int index访问数组元素时xyz[level],我得到'Buffer overrun '警告.从逻辑上讲,我很确定该级别不会超过10.如何避免此警告?

c++ windows warnings buffer-overrun visual-c++

0
推荐指数
1
解决办法
1867
查看次数

Win32:没有窗口出现

我正在编写Frank Luna的书"使用DirectX 10进行3D游戏编程简介"中的示例代码.代码是附录A:Windows编程部分中的第一个Win32示例.

现在,该程序在VC++ 2008/2010下编译,但没有窗口出现,虽然调试会话已经开始,我必须强制关闭它.我不知道它在哪里,我没有使用Win32控制台模式,我关闭了所有其他窗口,没有其他IDE或VC++会话正在运行.

知道为什么会这样吗?

PS:我还检查过我的进程.它确实在运行.

    #include <Windows.h>

    HWND ghMainWnd = 0;

    bool InitWindowsApp(HINSTANCE instanceHandle, int show);
    int Run();

    LRESULT CALLBACK
        WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

    int WINAPI 
        WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pCmdLine, int nShowCmd )
    {
        if( !InitWindowsApp(hInstance, nShowCmd) )
            return 0;

        return Run();
    }

    bool InitWindowsApp( HINSTANCE instanceHandle, int show )
    {
        WNDCLASS wc;

        wc.style         = CS_HREDRAW | CS_VREDRAW;
        wc.lpfnWndProc   = WndProc;
        wc.cbClsExtra    = 0;
        wc.cbWndExtra    = 0;
        wc.hInstance     = instanceHandle;
        wc.hIcon …
Run Code Online (Sandbox Code Playgroud)

windows winapi visual-c++ directx-10

0
推荐指数
1
解决办法
922
查看次数

DEFINE Macro是否适用于所有平台?

我是一个新手,我正在努力通过良好的实践和设计来改善自己,所以在阅读以下内容之前请考虑这一点.

我正在创建一个单例类,我有很多静态成员.而不是像这样每次都给成员打电话......

THECLASS::member
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用define宏来缩短它.

#define(THECLASS::member, shortMember);
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,这会对跨平台还是交叉编译器造成伤害.

c++ visual-c++

0
推荐指数
2
解决办法
106
查看次数

当我按下对话框窗口中的按钮时,如何在该对话框中更改/附加编辑控制框的文本

我正在使用基于对话框的vc ++/MFC应用程序进行计算器程序.在对话框中,我添加了编辑文本控件和按钮.因此,当我单击对话框上的按钮时,我需要在该对话框中更改/附加编辑控件框的文本.要在ButtonClicked方法中使用Setsel()和ReplaceSel()方法显示文本,但它不起作用.

显示您的代码的相关部分和相关的artical.

巴苏

mfc visual-c++

0
推荐指数
1
解决办法
1万
查看次数

我的程序无法在朋友的机器上运行

我使用Visual Studio 2010 Express在C++ + SFML中编写了一个游戏.我打包在所有库中,如msvcr100.dll,opengl32.dll等,但有些人可以运行我的游戏,而其他人不能:/我不知道为什么,因为我添加了运行游戏所需的一切.无法运行游戏的人会收到以下消息:"无法在动态链接库msvcrt.dll中找到过程入口点_ftol2"

如何在所有机器上运行此游戏?

compatibility visual-studio-2010 visual-c++

0
推荐指数
1
解决办法
942
查看次数

C++函数指针语法

我试图在VC++中创建一个函数指针,但我不断收到语法错误.

我的头文件中的声明如下所示:

 void ApplyFuncToCellsInSelection(void(*func)(CPoint, *CSpreadWnd));
Run Code Online (Sandbox Code Playgroud)

这是定义:

void CSpreadWnd::ApplyFuncToCellsInSelection(void(*func)(CPoint, *CSpreadWnd)) { ... }
Run Code Online (Sandbox Code Playgroud)

以下是我收到的错误消息:

c:\...\spreadwnd.h(274) : error C2059: syntax error : 'function-style cast'
c:\...\spreadwnd.h(274) : error C2059: syntax error : ')'
c:\...\spreadwnd.h(274) : error C2143: syntax error : missing ')' before ';'
Run Code Online (Sandbox Code Playgroud)

我知道这可能是一件非常简单的事情,但我似乎无法解决这个问题.

c++ function-pointers visual-c++

0
推荐指数
2
解决办法
3175
查看次数

视觉中的奇怪行为

这个程序在第一次参数后挂起: -

#include <stdio.h>
#include <conio.h>
void ellip(char*,...);
int main(int argc,char* argv[]){
    printf("a");
    ellip("first argument",99,"second arg","thirdarg");
    _getch();
return 0;
}
void ellip(char* m,...)
{   char com='c';
    for(;;)
        {   
            auto g=0;
            while(com=='c')
            {

                printf("%d\nMatched Continue:-",g++);
                scanf("%c",&com);


            }
        }
}
Run Code Online (Sandbox Code Playgroud)

而同一程序有一个微妙的修改(增加空间)

scanf("%c ",&com);
Run Code Online (Sandbox Code Playgroud)

工作良好!

这是vc中的某种错误还是计算机中的问题?

visual-c++

0
推荐指数
1
解决办法
92
查看次数

在查看Dialog时,无法实例化"ActiveX控件.重新安装或注册控件并重试"消息

我有一个使用MFC的现有Visual C++项目,我在Visual Studio 2008中运行.该机器刚刚设置并安装,我已从Source Control中取出项目.解决方案构建正常,但如果我进入资源文件并尝试上拉并查看对话框,我会收到消息

2 ActiveX controls could not be instantiated. Reinstall or register the controls and try again message when viewing Dialog

我不知道如何确定它抱怨哪些ActiveX控件,所以我可以尝试重新注册它们,因为它不会显示对话框.

我能够创建一个新的Dialog并在其上放置控件,但现有的不会拉起来.

mfc activex visual-studio-2008 visual-c++

0
推荐指数
1
解决办法
4476
查看次数

c ++特殊变量名

当我创建变量时,我只为它添加一个名称,但是我可以像这样创建变量的名称:

int var+1= 1;
Run Code Online (Sandbox Code Playgroud)

所以基本上应该是:

int var1=1;
Run Code Online (Sandbox Code Playgroud)

我知道我不能用+号来做那件事但是有办法吗?


编辑

int g=1;
string hello+g = "sdljfsdl"; // So hello+g will be hello1
Run Code Online (Sandbox Code Playgroud)

因此,它就像将变量值混合为另一个变量值来获取新的变量名称.

c++ variables visual-c++

0
推荐指数
2
解决办法
278
查看次数

如何将C++中的2个变量与其他变量绑定,以便当一个变量改变另一个变量时?

如何将C++中的2个变量与其他变量绑定,以便当一个变量改变另一个变量时?

例如,我创建的Int A和Int B彼此绑定,而当我使用某个函数更改A时,另一个将自动更改为A的新值.

我对C++ .net第4版的版本很感兴趣.

.net c++ variables binding visual-c++

0
推荐指数
2
解决办法
235
查看次数