我遇到了代码意大利面条,我需要检测流量控制,即一次发送一个数据。我如何使用全局变量来解决这个问题?如果全局变量不起作用,那么访问和修改多个函数中可能位于不同类中的变量的方法是什么
我尝试了以下(我粘贴部分代码),但它给了我错误,我无法解决。我想问一下解决这个问题可能是最好和最干净的方法。
file1.h
int data_received; //global variable
class abc
{
.
.
.
public:
void send_data(..)
.
.
.
};
file1.c中
void send_data()
{
while(!end_of_file)
{
read_line;
data_received = 0;
transmit_data(line);
while(data_received == 0)
cout<<"waiting for response before proceeding\n";
}
}
file2.c中
//data receive class
void transmit_data()
{
....
....
....
//data sent upstream
data_received = 1;
}
我在stackoverflow上搜索了很多帖子,但没有明确的答案。有人建议使用extern变量,但没有明确的外部变量示例在多个类函数中被修改。