真的被日食掩盖了#if定义的灰色区域.我想关闭此功能,或者使其与普通区域相同.一直在寻找解决方案,但找不到任何东西.
救命!
谢谢.
我已经相信使用括号初始化时会为变量分配其默认值。但是我错了。
在以下示例中:
#include <string>
#include <iostream>
#include <stdint.h>
class A
{
public:
A() {}
~A(){}
int var1;
int32_t var2;
int64_t var3;
std::string var4;
double var5;
float var6;
std::string info() const {
return "var1=" + std::to_string(var1) + " " +
"var2=" + std::to_string(var2) + " " +
"var3=" + std::to_string(var3) + " " +
"var4=" + var4 + " " +
"var5=" + std::to_string(var5) + " " +
"var6=" + std::to_string(var6) + " " +
"\n"
;
}
};
int main() …Run Code Online (Sandbox Code Playgroud) 我正在为二叉树编写一个模板,并且不明白为什么我不能从该模板中的一个函数返回Node*.
码:
template<class T>
class Binary_Tree{
private:
struct Node{
T* data;
Node *left,*right;
Node(T* dat, Node* l, Node* r) : data(dat),left(l=0),right(r=0) {}
}*root;
public:
Binary_Tree() : root(0) {}
Node* find(T* dat);
....
};
template<class T>
Node* Binary_Tree<T>::find(T* dat, Node* current){
if (*current->data == *dat){
return current;
}else if(*current->data < *dat && current->left == 0){
return current;
}else if(*current->data > *dat && current->right == 0){
return current;
}else if (*current->data < *dat){
find(dat,current->left);
}else if(*current->data > *dat){
find(dat,current->right);
}else{
return 0; …Run Code Online (Sandbox Code Playgroud)