在do-while循环中有一个变量列表,但是在while部分中,它的错误是“无法将'(void)0'转换为bool

时间:2019-04-21 03:06:42

标签: c++ c++14

我有一个do-while循环,使用Do通过push_back()函数填充多个向量,但是带有所有变量的While部分返回的错误为“错误:无法转换'((( )0,键入);从std :: string {aka std :: basic_string转换为bool

我尝试放置“ quoted(location)”,但出现了一个新问题“ quoted不是声明的函数” [我以为一般来说可能是我的编译器函数,我使用cygwin64]

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2019,4,13,21,0),
    'email': [],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    # 'retry_delay': timedelta(minutes=5),
    # 'queue': 'bash_queue',
    # 'pool': 'backfill',
    # 'priority_weight': 10,
    # 'end_date': datetime(2016, 1, 1),
}


dag = DAG(
    'EUR_USD', catchup=False, default_args=default_args )

    # Define the task that prints hello with the bash operator.
    t1 = BashOperator(
    task_id='FxScheduler',
    schedule_interval="*/5 * * * 1-5",
    bash_command='sh Hello.sh ',
    dag=dag
)

我希望所有这些都能编译iss all。我正在使用此代码对一个充满数据的文本文件进行排序。

编辑::我包括了整个代码,所有功能和排序。

1 个答案:

答案 0 :(得分:1)

您在这里有两个问题:

  1. 由于字符串不可转换为bool,因此无法编译。在表达式while (timeStamp, latitude, longitude, magnitude, depth, location, type)中,编译器试图将诸如timeStamp之类的字符串转换为bool,这会失败。尝试使用!timeStamp.empty()或其他布尔表达式。
  2. 您的while表达式未达到您的预期目的。如果您写while(a, b),则只有b参与条件。您可能想使用&&,例如while (a && b)