开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2124|回复: 9
收起左侧

[C/C++] 请问如何创建类的成员

[复制链接]
结帖率:40% (25/63)
发表于 2018-6-7 14:35:57 | 显示全部楼层 |阅读模式   湖北省武汉市
5精币
我在D3DWnd.h中    新建了    void   InitD3D()

但是在D3DWnd.cpp   我这样写void CD3DWnd::InitD3D(){  }


提示错误    1    error C2039: “InitD3D()”: 不是“CD3DWnd”的成员    c:\users\administrator\documents\visual studio 2010\projects\d3ddemo1\d3ddemo1\d3dwnd.cpp    25

请问  怎么解决   



回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

签到天数: 10 天

发表于 2018-6-7 14:41:07 | 显示全部楼层   贵州省安顺市
要包含在类的作用域内
D3DWnd.h
class CD3DWnd
{
    void   InitD3D();
}
回复

使用道具 举报

结帖率:40% (25/63)
 楼主| 发表于 2018-6-7 14:47:56 | 显示全部楼层   湖北省武汉市
麻辣鸡丝 发表于 2018-6-7 14:41
要包含在类的作用域内
D3DWnd.h
class CD3DWnd

这个是D3DWnd.h里的代码
#pragma once
#include <d3d9.h>

// CD3DWnd

class CD3DWnd : public CWnd
{
        DECLARE_DYNAMIC(CD3DWnd)
        void InitD3D();
public:
        CD3DWnd();
        virtual ~CD3DWnd();

protected:
        LPDIRECT3D9 m_pD3D;//D3D对象接口指针
        LPDIRECT3DVERTEXBUFFER9 m_pDevice;//设备对象指针

        DECLARE_MESSAGE_MAP()
};


回复

使用道具 举报

结帖率:100% (56/56)

签到天数: 19 天

发表于 2018-6-7 15:34:21 | 显示全部楼层   山西省太原市
D3DWnd.cpp里要#include “D3DWnd.h”
回复

使用道具 举报

结帖率:40% (25/63)
 楼主| 发表于 2018-6-7 15:47:36 | 显示全部楼层   湖北省武汉市
晴雯晴雯 发表于 2018-6-7 15:34
D3DWnd.cpp里要#include “D3DWnd.h”

这个D3DWnd.cpp种我加了D3DWnd.h d1
void CD3DWnd::InitD3D(){
        m_pD3D=Direct3DCreate9(D3D_SDK_VERSION);
        D3DPRESENT_PARAMETERS d3dpp;
        ::ZeroMemory(&d3dpp,sizeof(d3dpp));
        d3dpp.Windowed=true;//创建Direct3D程序
d3dpp.SwapEffect              = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat        = D3DFMT_X8R8G8B8;
d3dpp.EnableAutoDepthStencil  = TRUE;
d3dpp.AutoDepthStencilFormat  = D3DFMT_D16;

m_pD3D->CreateDevice(
        D3DADAPTER_DEFAULT,//使用缺省的显卡
                D3DDEVTYPE_HAL,//指定设备类型为Hal
                m_hWnd,
                D3DCREATE_SOFTWARE_VERTEXPROCESSING,//软件顶点处理
                &d3dpp,&m_pDevice);//因为使用顶点颜色渲染,所以要进行光照处理
class IDirect3DDevice9{
        SetRenderState();
}
IDirect3DDevice9::SetRenderState;
m_pDevice->SetRenderState(D3DRS_LIGHTING,FALSE);
m_pDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE) ;//不剔除任何面
m_pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );}//关闭挑选功能,允许渲染背面}
回复

使用道具 举报

结帖率:70% (26/37)

签到天数: 2 天

发表于 2018-6-7 16:14:41 | 显示全部楼层   福建省厦门市
放在public里面。默认是禁止访问的
回复

使用道具 举报

结帖率:40% (25/63)
 楼主| 发表于 2018-6-7 16:36:28 | 显示全部楼层   湖北省武汉市
靳刑天 发表于 2018-6-7 16:14
放在public里面。默认是禁止访问的

表示没用呀  兄弟
回复

使用道具 举报

结帖率:70% (26/37)

签到天数: 2 天

发表于 2018-6-7 16:47:12 | 显示全部楼层   福建省厦门市
[quote][url=forum.php?mod=redirect

代码发上来
回复

使用道具 举报

结帖率:40% (25/63)
 楼主| 发表于 2018-6-7 21:10:12 | 显示全部楼层   湖北省武汉市
靳刑天 发表于 2018-6-7 16:47
[quote][url=forum.php?mod=redirect

代码发上来

这个是D3DWnd.cpp
#include "stdafx.h"
#include "D3Ddemo1.h"
#include "D3DWnd.h"


// CD3DWnd

IMPLEMENT_DYNAMIC(CD3DWnd, CWnd)

CD3DWnd::CD3DWnd()
{

}

CD3DWnd::~CD3DWnd()
{
}


BEGIN_MESSAGE_MAP(CD3DWnd, CWnd)
END_MESSAGE_MAP()
void CD3DWnd::InitD3D(){
        m_pD3D=Direct3DCreate9(D3D_SDK_VERSION);
        D3DPRESENT_PARAMETERS d3dpp;
        hr = m_pD3D->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &displayMode );
        ::ZeroMemory(&d3dpp,sizeof(d3dpp));
        d3dpp.Windowed=true;//创建Direct3D程序
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
   d3dpp.BackBufferFormat= D3DFMT_X8R8G8B8;
d3dpp.EnableAutoDepthStencil= TRUE;
d3dpp.AutoDepthStencilFormat= D3DFMT_D16;

m_pD3D->CreateDevice(
        D3DADAPTER_DEFAULT,//使用缺省的显卡
                 D3DDEVTYPE_HAL,//指定设备类型为Hal
                m_hWnd,
                D3DCREATE_SOFTWARE_VERTEXPROCESSING,//软件顶点处理
                &d3dpp,&m_pDevice);//因为使用顶点颜色渲染,所以要进行光照处理
class IDirect3DDevice9{
        int SetRenderState();
}
//IDirect3DDevice9::SetRenderState;
m_pDevice->SetRenderState(D3DRS_LIGHTING,FALSE);
m_pDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE) ;//不剔除任何面
m_pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );}//关闭挑选功能,允许渲染背面}


// CD3DWnd 消息处理程序



D3DWnd.h

#pragma once
#include <d3d9.h>

// CD3DWnd

class CD3DWnd : public CWnd
{
        DECLARE_DYNAMIC(CD3DWnd)

public:
        CD3DWnd();
        virtual ~CD3DWnd();
        void InitD3D();
protected:
        LPDIRECT3D9 m_pD3D;//D3D对象接口指针
        LPDIRECT3DVERTEXBUFFER9 m_pDevice;//设备对象指针
       
        DECLARE_MESSAGE_MAP()
};






回复

使用道具 举报

发表于 2018-10-9 11:12:37 | 显示全部楼层   江苏省徐州市
都文件的 声明对吗
D3DWnd.h
class CD3DWnd
{
     void   InitD3D();
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表