小编rbe*_*485的帖子

Eclipse不会切换工作区

每当我在eclipse上切换工作区时,我都会收到错误:

在"初始化Java工具"期间发生内部错误.类文件org/eclipse/jdt/internal/compiler/ast/ASTNode中的重复字段名称和签名

如果我重新启动Eclipse,它会正确加载新工作区.我有什么想法来解决这个问题?

我在Windows 7上使用Eclipse Kepler

eclipse lombok

7
推荐指数
1
解决办法
1511
查看次数

为什么Scala的foreach不使用camelCase

我刚刚开始尝试使用 Scala,根据样式指南,它采用驼峰命名法作为方法名称。

所以我的问题是为什么foreach不调用该方法forEach

scala

5
推荐指数
0
解决办法
205
查看次数

使用const char*的奇怪的std :: cout行为

我有一个方法,它返回一个字符串以显示为错误消息.根据程序中出现此错误的位置,我可能会在显示错误消息之前添加一些解释.

string errorMessage() {
    return "this is an error";
}

// somewhere in the program...
const char* message = ("Some extra info \n" + errorMessage()).c_str();
cout << message << endl;
Run Code Online (Sandbox Code Playgroud)

(我将消息存储为const char*,因为我实际上会将此错误提供给另一个接受const char*参数的方法)

此时它输出垃圾(控制台上的不可打印的字符).

所以我玩了它,发现如果相反我做:

// somewhere in the program...
const char* message = ("Some extra info \n" + errorMessage()).c_str();
cout << ("Some extra info \n" + errorMessage()).c_str() << endl << message << endl;
Run Code Online (Sandbox Code Playgroud)

然后它会正确显示两次消息.

为什么提供额外的参数使其cout按我的意图工作?

c++ string iostream cout c-strings

3
推荐指数
1
解决办法
3278
查看次数

标签 统计

c++ ×1

c-strings ×1

cout ×1

eclipse ×1

iostream ×1

lombok ×1

scala ×1

string ×1