接受字符串结果代码注释

时间:2014-12-01 13:44:13

标签: c++ c visual-studio wininet

我有来自MSDN page

的这个代码段

lplpszAcceptTypes - 指向以空字符结尾的字符串数组的指针,指示客户端接受的媒体类型。这是一个例子。

PCTSTR rgpszAcceptTypes[] = {_T(“text/*”), NULL};

这里的问题是/*中的“text/*”被intellisense读作注释,并且此行后面的代码被注释掉了。这里有什么解决方案?

2 个答案:

答案 0 :(得分:5)

IntelliSense将其解析为注释的唯一原因是它不是一个正确的字符串文字。 C ++字符串文字由简单直引号"分隔,但MSDN示例(可能由于在不适合技术内容的文字处理器中编辑)使用样式化引号。这些不被识别为引号,因此字符串文字也未被识别,这导致IntelliSense误入歧途。 (如果MS对可移植性有任何尊重,那么它应该导致编译器误入歧途。)

答案 1 :(得分:3)

请考虑一下:

PCTSTR rgpszAcceptTypes[] = {_T(“text/” “*”), NULL};

预编译阶段将透明地连接字符串,并且不会混淆Intellisense。

或者,你可以使用宏定义(我道歉:)):

#define SPLIT_PATH "/"
PCTSTR rgpszAcceptTypes[] = {_T(“text” SPLIT_PATH “*”), NULL};

...或转义字符串(如评论中建议的@DoomProg)。