我正在学习qtsql,但在qtsql::query.exec()中遇到了这个qtstring。
我以前从未在C++中看到过这个字符串。
有人能解释一下为什么会有很多引文吗?怎么看这个?这是一串还是五弦?如果有五个字符串,为什么中间没有像逗号这样的分隔符?此外,query.exec还期待着康斯特& QTstring的到来。因此,如果这是一个字符串,是否与"create (id整型主键,姓氏varchar(20),姓氏varchar(30),年龄整数)“相同?
ret = query.exec("create table person "
"(id integer primary key, "
"firstname varchar(20), "
"lastname varchar(30), "
"age integer)");提前谢谢。
它不编译,因为我得到了这个错误
100%构建CXX对象CMakeFiles/utest_main.dir/utest_main.cpp.o函数中的/Users/chen/GitRepo/TickDatabase/utest_main.cpp:‘int():/Users/chen/GitRepo/TickDatabase/utest_main.cpp:25:错误:’firstname‘在此作用域中未声明-- /Users/chen/GitRepo/TickDatabase/utest_main.cpp:25:错误:’lastname‘在此作用域中未声明错误:‘age’在此作用域中没有声明: make2:* CMakeFiles/utest_main.dir/utest_main.cpp.o错误1 make1:* CMakeFiles/utest_main.dir/all Error
但这看起来也不像是一个错误,因为这两个站点都引用了以下语法:
Qt
http://doc.qt.nokia.com/stable/sql-cachedtable.html
有人知道吗?
发布于 2011-11-19 10:41:46
如果两个字符串文本仅用空格分隔,则将它们连接为一个字符串。如果我没有弄错的话,这是C和C++标准的一部分。
编辑C的标准可以找到这里。有关部分是第6.4.5节(适当命名为“字符串文字”),第4段。
在翻译阶段6,将由任意相邻字符序列和宽字符串文字标记指定的多字节字符序列串联成单个多字节字符序列。
在下文第7段中,有一个例子:
示例这对相邻的字符串文本。 “x12”"3“ 生成一个字符串文本,其中包含值为“\x12”和“3”的两个字符,因为转义序列在相邻字符串文字连接之前被转换为执行字符集的单个成员。
C++标准中应该有类似的文本,但是我还没有,所以不能说是哪个部分。
编辑2看问题中的错误,我想说,在真正的来源中有一个缺失的或额外的双引号"。
https://stackoverflow.com/questions/8192977
复制相似问题