【发布时间】:2015-02-12 09:33:22
【问题描述】:
我正在使用 Visual Studio 编写我的第一个应用程序,但我不明白它向我显示的错误。
有两个文件,Session 和 Login。登录使用 Session 的 set 和 get 功能。正如您在下面看到的,Login 调用“setCurrentLang”,这是 Visual Studio 显示的消息:Login.cpp 上的“此声明没有存储类或类型说明符”。如果我编译,这就是错误:
“错误 26 错误 C2365: 'setCurrentLang' : 重新定义;之前的定义是 'function' (....)\GUI\Login.cpp”。
这是 Session.cpp 文件:
#include "Session.h"
const char* CURRENT_LANG;
void setCurrentLang( char* lang){
CURRENT_LANG = strdup(lang);
}
const char* getCurrentLang(){
return CURRENT_LANG;
}
会话.h
#ifndef __SESSION_H__
#define __SESSION_H__
#include <cstring>
#include <stdio.h>
void setCurrentLang( char* lang);
const char* getCurrentLang();
#endif
登录.cpp
#include "Login.h"
#include "../data/Session.h"
setCurrentLang("English");
非常感谢您的帮助!
【问题讨论】:
-
请编辑您的问题以包含 complete 和 unedited 错误输出。并指出在哪里你得到错误。
-
选择一种语言。
-
感谢@JoachimPileborg,我已经编辑了帖子。
-
@WhozCraig 我不明白你。我不能在 C++ 上使用 C 吗?
-
你可以在 C++ 中使用 C,但 C++ 会让你自己射击自己的腿,当你将它与 C 混合时,它甚至会给你一把上膛的霰弹枪。因此,预计很难调试问题、内存泄漏和崩溃,因为您需要跟踪内存(由于 C)和实例生命周期(由于 C++ RAII),并确保这两者完美同步。
标签: c++ c visual-studio-2013