C_and_CPP 板


LINE

※ 引述《Killercat (杀人猫™)》之铭言: 跟我想的一样,这是VC自己extand的功能,完全不是标准里面的东西... VC自己的stdafx.h(precompile header)里面宣告的东西 即使没有被真正的include进去 (事实上,每个.cpp都会被要求include stdafx.h..但是.h档并没有) 可是在每个header档都会被参考到...即使该header压根没include他 所以只要在stdafx.h里面include过或者宣告过, 就可以用在"任何一个.h,甚至没有include stdafx.h"的header里面 我就一直在想,为什麽他可以这样写我却不行 打开stdafx.h以後才恍然大悟 -_- 前面几个前置宣告也可以拿掉,那根本宣告心酸的 #pragma once //class irr::scene::IAnimatedMeshSceneNode; //class irr::scene::ISceneNode; //class Scripter::IScripterElement; struct CharImpl; //是的,即使程式完全没有include半点东西也没前置宣告,这个class仍然能过! //为什麽呢? 因为MS自己的stdafx.h太强大了! class CCharacters : public irr::scene::IAnimatedMeshSceneNode { private: CharImpl* m_pImpl; public: static const int MAX_FLAG = 24; CCharacters(ISceneNode* parent, ISceneManager* mgr, s32 id, const core::vector3df& position = core::vector3df(0,0,0), const core::vector3df& rotation = core::vector3df(0,0,0), const core::vector3df& scale = core::vector3df(1.0f, 1.0f, 1.0f)); ~CCharacters(void); }; 是的,只要在stdafx.h里面include过irr::scene::... 这边完全连前置宣告都不用 整个code也没有#include "stdafx.h" MS真是标准破坏者阿 囧 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.217.109.209 ※ 编辑: Killercat 来自: 61.217.109.209 (03/23 01:28)
1F:推 yoco315:我一向都不使用 stdafx.h ^O^ 03/23 02:15
2F:推 Tiberius:Irrlicht!!! 在写什麽好玩的 XDDDDD 03/23 02:32
3F:推 yoco315:快用 ogre!! 03/23 02:37
4F:→ Killercat:ogre有在玩阿XD 可是Irrlicht跟RPGMaker一样简单 03/23 02:44
5F:→ Killercat:所以忍不住先去玩玩Air lich(误) 03/23 02:44
※ 编辑: Killercat 来自: 61.217.109.209 (03/23 02:47)
6F:推 Tiberius:XDDD 我当初也是觉得没办法掌握 Ogre ... 03/23 02:59
7F:→ a127a127:VC要求每个cpp第一个include的必须是先行编译标头档 03/23 08:01
8F:→ a127a127:其他.h档自然会在它之後. 其他编译器只要能保证第一个要 03/23 08:03
9F:→ a127a127:include的是某个东西,也可以做到这件事 03/23 08:04
10F:→ a127a127:你直接去编译.h就会出错了,不过VC不让你编译.h档就是了XD 03/23 08:05
11F:→ Killercat:做不到,至少需要前置宣告... 03/23 16:45
12F:→ Killercat:不然a.cpp有include "foo.h"就好了 a.h就不用作前置宣告 03/23 16:46
13F:→ Killercat:class foo; 了阿 03/23 16:46
14F:→ Killercat:现在VC是连前置宣告都帮你省了 你可以try看看 OTZ 03/23 16:46
15F:→ Killercat:而且前置宣告并不允许直接惯namespace::在前面 03/23 16:47
16F:→ a127a127:只要确保了include a.h 前一定会先include foo.h 03/23 19:32
17F:→ a127a127:a.h就不需要做前置宣告了. 除非你单独去编译.h档 03/23 19:34







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP