- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在参加的 C++ 类(class)中获得了示例代码。我可以在 CodeBlocks 中构建它,但不能在 Visual Studio 2015 中构建。在 Visual Studio 中,主线“rename test3;”引发查找分号的错误,并且该行中的变量声明“重命名”未按类型的默认绿色突出显示。下一行也一样。因此 test3 和 test4 未定义。如果我删除“#include <iostream>
”,“重命名”在第 33 行和第 34 行变为绿色,但标准包含变得未定义。实现“using namespace std
”也无济于事。我试图摆脱“using namespace std
”,因为根据我在这里的理解,这不是好的编码习惯。我想我缺少一个 VS 设置。
//#include <iostream> // original first two line
//using namespace std; //
#include <iostream>
#include <cstring> // I added this include
using std::cin; // I added the following using lines
using std::cout;
using std::endl;
class feature { // this class has a specific feature
private:
char data[16];
public:
feature() { strcpy(data, "default"); }
feature(char * in) { strcpy(data, in); } // error checks needed
void set(char * in) { strcpy(data, in); }
void out() { cout << data << endl; }
};
class rename : private feature {
public:
void reset(char * in) { set(in); }
void print() { out(); }
rename() : feature() {}
rename(char * in) : feature(in) {}
};
int main() {
feature test1;
feature test2("test2 data");
rename test3;
rename test4("test4 data");
test1.out();
test2.out();
test3.print();
test4.print();
}
结果应该是:
default
test2 data
default
test4 data
default
test4 data
如果我改回原来的前两行,代码将不起作用。如果我将“rename”重命名为“rename1”,那么代码就可以工作。
#include <iostream>
using namespace std;
class feature { // this class has a specific feature
private:
char data[16];
public:
feature() { strcpy(data, "default"); }
feature(char * in) { strcpy(data, in); } // error checks needed
void set(char * in) { strcpy(data, in); }
void out() { cout << data << endl; }
};
class rename1 : private feature {
public:
void reset(char * in) { set(in); }
void print() { out(); }
rename1() : feature() {}
rename1(char * in) : feature(in) {}
};
int main() {
feature test1;
feature test2("test2 data");
rename1 test3;
rename1 test4("test4 data");
test1.out();
test2.out();
test3.print();
test4.print();
}
最佳答案
rename
是一个包含在标题中的函数 <cstring>
在 Visual Studio 中,这会导致与您的类的名称发生冲突。因此,您需要更改派生类的名称。 Visual Studio 可能还会要求您更改 strcpy
至 strcpy_s
(否则它可能会给出警告或错误)。
理想情况下,您应该避免在您编写的新代码中使用 C 兼容性 header (除非您绝对需要它们),例如:在您的示例中,您应该坚持 std::string
而不是 char*
关于C++ 代码在 CodeBlocks 中构建,但不在 Visual Studio 2015 中构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49211278/
在我的代码块的文件选项卡中,我看不到文件。文件资源管理器仅显示目录树。 要加载 .cpp 文件,我需要进入我的工作区目录,然后我可以选择在 C::B 中打开它。该文件已加载到 IDE 中,但我无法在文
CodeBlocks 是否有任何快捷方式来格式化代码? 我在谷歌上没有找到任何提示。 我发现只有“格式使用AStyle”,但它只提供鼠标右键...... 最佳答案 默认情况下可能不是,但您应该能够在那
代码块中是否有“重命名文件”选项,而不是通过资源管理器重命名它?我尝试右键单击该选项卡,但似乎没有选项卡。 最佳答案 确保您要重命名的文件未在代码块中打开。在“项目”->“工作区”下,右键单击该文件以
我很难用 Code::Blocks 设置 SDL2 我尝试了一些在谷歌上找到的教程,我也尝试通过在这个网站上搜索来解决问题,但是我没有解决它,每次我在编译一个简单的程序时遇到错误 所以我希望有人好心给
我想自学 SDL,但在第一次尝试时遇到了非常不愉快的问题。我做了一些研究,发现我首先需要让 CodeBlocks 知道库所在的位置。首先,我有 64 字节的操作系统。 就在我读的时候,我把东西放进去:
我安装了 codeblocks,然后编写了代码,但是当我按下构建键时,codeblocks IDE 停止工作。 然后程序关闭。 我该怎么办? 最佳答案 有任何构建消息吗? 我想也许你应该检查你的编译器
我想在代码块中设置默认模板代码。如何在每次打开新项目或空文件时出现的代码块中设置默认代码。 最佳答案 通常创建一个新项目并使用您想要的代码对其进行自定义,然后转到File > 将项目另存为模板。现在,
最好的代码块快捷方式是什么?还有什么方法可以直接缩进我们所有的代码?此外,我们如何在代码块中的事件选项卡中移动? 最佳答案 ] 2 从 添加你想要的快捷方式设置->编辑器->键盘快捷键->插件->源代
谢谢。 因此,当我使用 C 语言将一些代码写入代码块并运行它时,假设代码没有错误,它运行良好。除非我删除可执行文件和目标文件,否则代码的后续修改和运行只会产生我第一次运行代码时的结果。换句话说,它不会
#include #include int main(void) { double a, b, c, root1, root2; printf("Input the coefficient a
我在识别我机器上的 GLFW 库的代码块 10.05 时遇到了一些困难。当我创建一个空项目并复制粘贴此 GLFW 教程中的代码时 >> http://content.gpwiki.org/index.
我已将代码块的背景更改为深色和光标颜色,我也正在从 Settings->Editor->margins and carets 更改.. 但是光标的颜色在一段时间后变回黑色(主要是在'['']'自动完成
我已经开始使用C :: B并发现了一个令人讨厌的问题:我通常在工作区中有许多打开的项目,每当我关闭C :: B时,下次启动时,我都会在“项目”选项卡中丢失所有项目。因此,每次我必须从File->Rec
Closed. This question is off-topic。它当前不接受答案。
#include #include #include int main() { char string; printf("Hello\n"); printf("What w
我定义了以下结构: typedef struct { int num_albaran; char cod_vendedor[5]; char cod_cliente[5];
我尝试运行并浏览我在网上可以找到的所有内容来解决该问题,但它不起作用。到目前为止我已经完成了: 使用 mingw 设置下载了 Codeblocks 13.12(并尝试使用 16.01)。 将graph
主要功能如下: int main (void){ tProyecto proyecto; /*Proyecto a gestionar*/ int opcion; /*
我已经使用 codeblocks 大约 3 个月了,现在它运行得很好。今天我编写了一个简短的程序,当我尝试构建并运行时,IDE 大约需要 1 分钟才能响应(通常需要 5-10 秒)。程序打不开,显示的
我有多个项目,它们一遍又一遍地具有相同的头文件,是否可以创建一个包含所有头文件及其源文件的通用 utils 文件夹? Project files with header files 最佳答案 是的,可
我是一名优秀的程序员,十分优秀!