我是 C++ 的新手,一直遇到很多语法问题。我已经有一段时间没能找到具体的答案了。我正在尝试运行这段代码:
void test(char &testChar){
char B[3] = {"BB"};
testChar = B;
}
int main(int argc, const char * argv[])
{
char A[3] = {"AB"};
test(A);
std::cout << A;
return 0;
}
我想传递我的变量 A
功能test
并用该函数替换 A
的内容与局部变量的内容 B
,然后打印出来。应该怎么做?
最佳答案
对数组的引用应该是这个
void test(char (&testChar)[3]){
// code
}
但是在你的测试函数中 testChar = B;
表达式是错误的。你需要 explicitly string copy (第二个引用在 C++ 中没有改变,不像指针)为此你可能想阅读:C++ Reference, change the refered variable
编辑:正如@ChristianSjöstedt 评论的那样。
Python 是“动态类型语言”,其中变量的类型和值可以更改,而在 C++ 中,您声明变量的类型它不会更改。
i = 10 # reference to int
i = "name" # reference to str
这在 Python 中是可能的,但在 C++(和 C)中则不行
C/C++ 是静态语言,意思是“静态类型语言”。例如,变量的类型不能在编译时更改和静态定义。
int i = 10;
i
in int 可以是 char。
关于c++ - 在 C++ 中传递数组引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15922852/