本季度最爆笑笑话

2005年5月13日

今天我在写一个 c 程序,里面有如下一段话:
        g_errorMessage =
            "Error opening the temporary batch file for writing in functionn"
            "CreateTempCDBatch.";
这个写法是正确的。其实我原来是写错掉的。我原来写的是这样的:
        g_errorMessage =
            "Error opening the temporary batch file for writing in functionn"
            + "CreateTempCDBatch.";
你想想看,会发生什么编译错误?
它说:
不能加两个指针。VS .NET 2003 的 C++ 编译器:
cds.c(489) : error C2110: “+” : 不能加两个指针
知道为什么我会这样写吗?
因为在 C# 里面就是这样写的!
看来我掉入 .NET Hell 了?
哈哈哈。

“本季度最爆笑笑话” 已有 2 条评论

  1. Lincoln 在

    真是有趣啊。范添寿曾教我C/C++的编译。他说char *c1 = "fanti";是将一个c1指针指向全局区数据"fanti";而char c2[] = "fanti",相当于char c1[6] = "fanti",是做一个定长char数组{’f’, ‘a’, ‘n’, ‘t’, ‘i’, ‘\’}放在栈区中。然后c1本身是可以重指向的,c2不可(相当于char const *c2;)。是这样的吗?

  2. Robbie Mosaic 在

    一个小错误:char const *c2 应为 char *const c2。

留下您的评论