[英]Accessing pointer to a vector in a struct
如何訪問結構中向量的指針值? 我有以下代碼:
#include <iostream>
#include <vector>
using namespace std;
struct item {
int value;
vector<bool> pb;
vector<bool> *path = &pb;
};
int main(int argc, char* argv[]) {
vector<item> dp(10);
for (int n = 0; n < 10; n++)
dp[n].pb = vector<bool>(10);
if (dp[1].path[2] == true)
cout << "true";
else cout << "false";
}
導致以下編譯錯誤:
Error C2678 binary '==': no operator found which takes a left-hand operand of type 'std::vector<bool,std::allocator<_Ty>>' (or there is no acceptable conversion)
如何訪問存儲在dp [1] .path [2]中的值?
path是指向向量的指針。 您必須執行以下操作才能訪問其指向的向量中的值
if ((*(dp[1].path))[2] == true)
要么
if (dp[1].path->operator[](2) == true)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.