吾爱破jie 发表于 2019-11-26 15:36

c++调用另外一个cpp文件的一个函数的局部变量

本帖最后由 吾爱破jie 于 2019-11-26 20:55 编辑

假设有两个cpp: A.cpp和B,cpp
有两个头文件:A.h和B.h
在A.cpp中:
void a(){
   x = 5;
}

在B,cpp中:
void b(){
    y=x;
}
怎么样才能成功让y获取到x的值。
前提条件不能改,只能是void a()和void b()。我需要加上那些代码才能成功调用
网上找了很多方法,可能我太笨,都没成功,总是提示
1>ofApp.obj : error LNK2001: 无法解析的外部符号 "int pointx" (?pointx@@3HA)
1>ofApp.obj : error LNK2001: 无法解析的外部符号 "int pointy" (?pointy@@3HA)
希望大神们教教我吗,就当做个题目。

luanshils 发表于 2019-11-26 15:51

本帖最后由 luanshils 于 2019-11-28 21:48 编辑

我记得c有个extrn连接其他文件的方法吧,至于你这个临时变量,能不能以指针的形式存在某个地址里呢,其实我也不大清楚,看楼下解答吧

lcwxxf 发表于 2019-11-26 16:15

动态连接库

imcuer 发表于 2019-11-26 16:20

如果x是在函数a内部定义的,就没有方法

lyfwwb 发表于 2019-11-26 16:23

可以用到指针

年少无为 发表于 2019-11-26 16:27

// A.h
intx;
void a();

//A.cpp
#include "A.h"
void a(){
x = 5;
}

//B.h
#include "A.h"
void b();

//B.cpp
#include "B.h"
void b(){
y = x;
}

你与明日 发表于 2019-11-26 16:39

直接把X声明成全局变量就可以了......

想啥呢?

吾爱破jie 发表于 2019-11-26 16:44

年少无为 发表于 2019-11-26 16:27
// A.h
intx;
void a();


在B.cpp中提示x是未定义标识符

吾爱破jie 发表于 2019-11-26 16:45

lyfwwb 发表于 2019-11-26 16:23
可以用到指针

可以给个具体步骤吗、

吾爱破jie 发表于 2019-11-26 16:45

imcuer 发表于 2019-11-26 16:20
如果x是在函数a内部定义的,就没有方法

不会吧,太难了
页: [1] 2 3
查看完整版本: c++调用另外一个cpp文件的一个函数的局部变量