编译器错误 - 在C++中连接 #define
compiler errors - Concatenating #define in C++
我有这样的东西:
#define BASE_FOLDER = "Resources"
#define PREFERENCE_FILE_NAME = "AppPreferences.txt"
#define SPLASH_FILE_NAME = "Splash.png"
#define PREFERENCE_PATH = ".\" + BASE_FOLDER + "\" + PREFERENCE_FILE_NAME
#define SPLASH_PATH = ".\" + BASE_FOLDER + "\" + SPLASH_FILE_NAME
编译器在使用PREFERENCE_PATH的地方抛出错误。
expecting primary expression before = token.
这些在我做的时候都有效
#define PREFERENCE_PATH = ".\Resources\AppPreferences.txt"
#define SPLASH_PATH = ".\Resources\Splash.png"
我做错了什么?
去掉等号。预处理器定义不使用等号。
然后摆脱加分项。字符串文本在并排放置时连接起来,中间没有加号。强调文字,因为这是一个编译时功能,仅适用于双引号文字,如 "foo" "bar"
→ "foobar"
.它不适用于变量。
#define BASE_FOLDER "Resources"
#define PREFERENCE_FILE_NAME "AppPreferences.txt"
#define SPLASH_FILE_NAME "Splash.png"
#define PREFERENCE_PATH ".\" BASE_FOLDER "\" PREFERENCE_FILE_NAME
#define SPLASH_PATH ".\" BASE_FOLDER "\" SPLASH_FILE_NAME
你不能像
这样连接字符串(即字符*)C++...他们没有+
操作员。
相关文章:
- 当套接字连接断开时检测C/C++Unix
- 无法在windows上使用mingw将sqlite3与c连接
- 到连接组件算法的问题(递归)
- 与C代码相比,为什么C++代码不需要"#define _POSIX_C_SOURCE 200809L"?
- QTcpSocket在不阻塞GUI的情况下重新连接到服务器
- 无法在C++中建立与MySQL数据库的连接
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 以下 C++ 代码用于 -> "#define idiv(a, b) (((a) + (b) / 2) / (b))" 是什么?
- 连接 dockerized 模型和 dockerized 数据库时出现"无法 SQLConnect"错误
- 使用 bfs 解决连接组件问题时得到错误的答案
- 在C++的两个字符串中连接以逗号分隔的唯一值
- 如何修复valgrind启动时的致命错误(与libc6-dbg和libc6-dbg:i386连接)
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- OSX蓝牙打开RFCOMMChannelAsync声称已连接,但未建立连接,并且从未调用过委托
- 在 libcurl 连接池中预创建连接
- 套接字连接"Operation not permitted"错误,甚至使用升压/平发器根.cpp
- libcurl 和 DNS ttl 中的内部连接管理
- C++使用#define中的值连接const char
- 编译器错误 - 在C++中连接 #define