c++ - 错误:重新定义 'get_pointer'T* get_pointer(T* p) c++11
问题描述
错误:重新定义 'get_pointer'T* get_pointer(T* p)
//Itemshop_manager.h
#pragma once
#include "stdafx.h" //error: 4th line
#ifdef ENABLE_ITEMSHOP_SYSTEM
class CItemShopManager : public singleton<CItemShopManager>
{
public:
CItemShopManager();
~CItemShopManager();
void Initialize();
void LoadItems(BYTE bType, DWORD dwCount, TItemShopItem * pItems);
void LoadEditors(DWORD dwCount, TItemShopEditor* pEditors);
TItemShopItem FindItemByID(DWORD id, DWORD category);
void OpenItemShop(LPCHARACTER ch);
void BuyItem(LPCHARACTER ch, DWORD id, DWORD category);
void DeleteItem(LPCHARACTER ch, DWORD id, DWORD category, bool deleteFromDB = true);
void AddItem(LPCHARACTER ch, DWORD vnum, DWORD count, DWORD price, DWORD category);
void EditItem(LPCHARACTER ch, DWORD vnum, DWORD count, DWORD price, DWORD category, DWORD id);
private:
std::vector<TItemShopItem> m_vec_itemShopItems;
std::set<LPCHARACTER> m_set_pkCurrentViewer;
std::vector<char*> m_vec_pkEditors;
void AddEditor(char* szName);
bool IsEditor(LPCHARACTER ch);
bool IsViewer(LPCHARACTER ch);
void AddViewer(LPCHARACTER ch);
void RemoveViewer(LPCHARACTER ch);
void ViewerChatPacket(BYTE bType, const char * szChat);
};
#endif
//cmd_general.cpp
#ifdef ENABLE_ITEMSHOP_SYSTEM
#include "itemshop_manager.h"//error: line 52
#endif
//Itemshop_manager.cpp
#ifdef ENABLE_ITEMSHOP_SYSTEM
#include "itemshop_manager.h"//error: 8th line
谢谢您的帮助。
标准数据文件
template<typename T>
T* get_pointer(T* p)
{
return p;
}
解决方案
您从 stdafx.h 中丢失#pragma once
(或包含 guard )。可能从一个 .cpp 中直接或间接地不止一次地包含 stdafx.h。
但是,如果您打算将 stdafx.h 用作PCH,则#pragma once
不需要,但 stdafx.h 应仅包含在 .cpp 中,而不应包含在任何标头中。
推荐阅读
- php - 如何从数组输出中删除垃圾数据
- reactjs - Redux 使用 Typescript 连接 - TS2347
- sql-server - 如何从 VB.net 触发 SQL Server 数据库/表错误消息
- html - 如何防止一个部分重叠另一部分
- javascript - 拒绝使用 WampServer 3.1.7 加载 jquery.csv.min.js 库
- azure - Azure Database for MySQL 的数据库/架构限制?
- sql - Oracle 慢查询处理
- android - React Native抽屉导航选项动态设置锁定和解锁?
- c++ - 在 lambda 中捕获的 constexpr 变量失去了它的 constexpr-ness
- java - 如何从设备文件夹中检索和共享位图