标签: struct

这个错误意味着什么:"错误:'type_name'之前的预期说明符 - 限定符列表"?

我一直在研究Cell处理器,我正在尝试创建一个结构,它将保存一个spe_context_ptr_t,它将在线程中用于启动一个spe上下文,并且还将保存指向其他将被传递给来自线程内的spu上下文(目前我正试图让它成为通用指针,但实际上它将是指向我定义的另一个结构的指针).当我尝试编译时,我收到以下错误:

spu/../common.h:38: error: expected specifier-qualifier-list before 'spe_context_ptr_t'

// here is the offending line(s)

typedef struct _PTHREAD_BLOCK {
    spe_context_ptr_t * context; // Error happens here
    uintptr32_t  args; 
 } PTHREAD_BLOCK;
Run Code Online (Sandbox Code Playgroud)

c c++ struct pointers

50
推荐指数
1
解决办法
16万
查看次数

C#Static class vs struct用于预定义字符串

一位同事刚刚在C#中创建了以下构造(示例代码已经简化).他的目标是缩短其余代码中所有预定义字符串的表示法.

public struct PredefinedStrings
{
    public const string VeryLongName = "Very Long Name";
    public const string AnotherVeryLongName = "Another Very Long Name";
    public const string TheLastVeryLongName = "The Last Very Long Name";
}

public static void MethodThatUsesTheNames()
{
    Console.WriteLine(PredefinedStrings.VeryLongName);
    Console.WriteLine(PredefinedStrings.AnotherVeryLongName);
    Console.WriteLine(PredefinedStrings.TheLastVeryLongName);
}
Run Code Online (Sandbox Code Playgroud)

虽然它似乎对他来说很好,但我不禁想知道他是否应该使用静态类而不是结构,或者是否有更优雅的方法来实现这一点.

这样做的首选方法是什么?还请解释原因.

c# string struct static-classes

50
推荐指数
8
解决办法
2万
查看次数

通用约束,其中T:struct和T:class

我想区分以下情况:

  1. 普通值类型(例如int)
  2. 可以为null的值类型(例如int?)
  3. 引用类型(例如string) - 可选地,我不关心这是否映射到上面的(1)或(2)

我已经提出了以下代码,它适用于案例(1)和(2):

static void Foo<T>(T a) where T : struct { } // 1

static void Foo<T>(T? a) where T : struct { } // 2
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试像这样检测case(3),它就不会编译:

static void Foo<T>(T a) where T : class { } // 3
Run Code Online (Sandbox Code Playgroud)

错误消息是类型'X'已经定义了一个名为'Foo'的成员,它具有相同的参数类型.好吧,不知何故,我无法在where T : struct和之间产生影响where T : class.

如果我删除第三个函数(3),以下代码也不会编译:

int x = 1;
int? y = 2;
string z = "a";

Foo (x); // OK, …
Run Code Online (Sandbox Code Playgroud)

c# generics struct constraints class

50
推荐指数
4
解决办法
5万
查看次数

C++ - struct vs. class

可能的重复:
C/C++ Struct vs Class C++
中的POD类型是什么?

嗨,

C++ In a Nutshell一书中,在第6章:类中,在Access说明符下面,提到了以下内容:

在类定义中,成员和基类的默认访问权限是私有的.在结构定义中,默认值为public.这是类和结构之间的唯一区别,尽管按照惯例,一些程序员仅将结构用于POD类,并将类用于所有其他类.

我的问题是:

  • 类和结构之间是否存在另一个区别,因为结构不包含函数而只保存数据?
  • 什么是POD课程?而且,这里所有其他课程的含义是什么?那么特殊课程吗?

谢谢.

c++ struct class pod

50
推荐指数
3
解决办法
10万
查看次数

static_cast和reinterpret_cast有什么区别?

可能重复:
什么时候应该使用static_cast,dynamic_cast和reinterpret_cast?

我在c ++中使用c函数,其中在c中作为void类型参数传递的结构直接存储相同的结构类型.

例如在C.

void getdata(void *data){
    Testitem *ti=data;//Testitem is of struct type.
}
Run Code Online (Sandbox Code Playgroud)

在c ++中做同样的事我使用static_cast:

void foo::getdata(void *data){
    Testitem *ti = static_cast<Testitem*>(data);
}
Run Code Online (Sandbox Code Playgroud)

当我使用 reinterpret_cast它做同样的工作,铸造结构

当我使用 Testitem *it=(Testitem *)data;

这也是一样的.但是如何通过使用它们中的三个来影响结构.

c c++ struct casting

50
推荐指数
1
解决办法
5万
查看次数

什么是'前向声明'以及'typedef struct X'和'struct X'之间的区别?

我是C编程的初学者,我知道struct type declaration和typedef struct declaration之间的区别.我遇到了一个答案,说如果我们定义一个结构,如:

typedef struct { 
    some members;
} struct_name;
Run Code Online (Sandbox Code Playgroud)

然后它就像为匿名结构提供别名(因为它没有标记名称).所以它不能用于前瞻性声明.我不知道"前瞻性宣言"是什么意思.

另外,我想知道以下代码:

typedef struct NAME { 
    some members;
} struct_alias;
Run Code Online (Sandbox Code Playgroud)

有什么区别structtypedef?或者两者都相等,因为struct_alias是struct NAME的别名?

此外,我们可以声明类似的变量struct:

struct_alias variable1;
Run Code Online (Sandbox Code Playgroud)

和/或喜欢:

struct NAME variable2;
Run Code Online (Sandbox Code Playgroud)

或者喜欢:

NAME variable3; 
Run Code Online (Sandbox Code Playgroud)

c struct typedef

50
推荐指数
4
解决办法
6万
查看次数

将Struct保存到UserDefaults

我有一个结构,我想保存到UserDefaults.这是我的结构

struct Song {
    var title: String
    var artist: String
}

var songs: [Song] = [
    Song(title: "Title 1", artist "Artist 1"),
    Song(title: "Title 2", artist "Artist 2"),
    Song(title: "Title 3", artist "Artist 3"),
]
Run Code Online (Sandbox Code Playgroud)

在另一个ViewController中,我有一个附加到这个结构的UIButton

@IBAction func likeButtonPressed(_ sender: Any) {   
   songs.append(Song(title: songs[thisSong].title, artist: songs[thisSong].artist))
}
Run Code Online (Sandbox Code Playgroud)

我想要它,以便每当用户也点击该按钮时,它会将结构保存到UserDefaults,这样每当用户退出应用程序然后打开它时,它就会被保存.我该怎么做?

struct nsuserdefaults ios swift

50
推荐指数
4
解决办法
2万
查看次数

将struct传递给函数

我是一名新的C程序员,我想知道如何struct将一个函数传递给函数.我收到错误,无法找出正确的语法来执行此操作.这是它的代码....

结构:

struct student{
    char firstname[30];
    char surname[30];
};

struct student person;
Run Code Online (Sandbox Code Playgroud)

呼叫:

addStudent(person);
Run Code Online (Sandbox Code Playgroud)

原型:

void addStudent(struct student);
Run Code Online (Sandbox Code Playgroud)

和实际功能:

void addStudent(person)
{
    return;
}
Run Code Online (Sandbox Code Playgroud)

编译器错误:

第21行:警告:可疑标签声明:struct student
line 223:参数#1与原型不兼容:

c struct function

49
推荐指数
3
解决办法
20万
查看次数

Go中的Init结构数组

我是Go的新手.这个问题让我疯了.你如何在Go中初始化结构数组?

type opt struct {
    shortnm      char
    longnm, help string
    needArg      bool
}

const basename_opts []opt { 
        opt {
            shortnm: 'a', 
            longnm: "multiple", 
            needArg: false, 
            help: "Usage for a"}
        },
        opt {
            shortnm: 'b', 
            longnm: "b-option", 
            needArg: false, 
            help: "Usage for b"}
    }
Run Code Online (Sandbox Code Playgroud)

编译器说它期待';' 在[]选择之后.

我应该把大括号'{'放到init我的struct数组中?

谢谢

arrays struct go

49
推荐指数
3
解决办法
8万
查看次数

如何在golang切片中搜索元素

我有一块结构.

type Config struct {
    Key string
    Value string
}

// I form a slice of the above struct
var myconfig []Config 

// unmarshal a response body into the above slice
if err := json.Unmarshal(respbody, &myconfig); err != nil {
    panic(err)
}

fmt.Println(config)
Run Code Online (Sandbox Code Playgroud)

这是这个的输出:

[{key1 test} {web/key1 test2}]
Run Code Online (Sandbox Code Playgroud)

如何搜索此数组以获取元素在哪里key="key1"

struct go slice

49
推荐指数
4
解决办法
8万
查看次数

标签 统计

struct ×10

c ×4

c++ ×3

c# ×2

class ×2

go ×2

arrays ×1

casting ×1

constraints ×1

function ×1

generics ×1

ios ×1

nsuserdefaults ×1

pod ×1

pointers ×1

slice ×1

static-classes ×1

string ×1

swift ×1

typedef ×1